http://tebb.elpaso.com/ebbmasterpage/Capacity/OperAvailAutoTable.aspx?code=TGP&name=Operationally+Available+Capacity&status=Cap&sParam2=M&sParam3=5%2f4%2f2012&sParam8=S
Param3代表日期,%2f是html编码的/
这里的关键是发布数据。
要下载 excel 文件,原始帖子数据为:
__ EVENTTARGET =& EM> _EVENTARGUMENT =&ctl00_WebSplitter1_tmpl0_NavigationUserControl1_TreeView1_ExpandState = ennunnnnnnnnunnnnnunnnnnnunnnnnnnnnnnnnnnnnnnnnnnnnnnunnnunnnnnnnnnnnnnnnnunnnnnnnn&ctl00_WebSplitter1_tmpl0_NavigationUserControl1_TreeView1_SelectedNode =&_ LASTFOCUS =& EM> _VIEWSTATE =%2FwEPDwUIOTA0MDgxNzEPFgYeCmhpZGVDb2x1bW4y3QEAAQAAAP%2F%2F%2F%2F8BAAAAAAAAAAQBAAAAflN5c3RlbS5Db2xsZWN0aW9ucy5HZW5lcmljLkxpc3RgMVtbU3lzdGVtLkludDMyLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldXQMAAAAGX2l0ZW1zBV9zaXplCF92ZXJzaW9uBwAACAgICQIAAAABAAAAAQAAAA8CAAAABAAAAAgTAAAAAAAAAAAAAAAAAAAACx4LVGFibGVOdW1iZXICAR4IUm93Q291bnQCkQwWAmYPZBYCAgMPFgIeBm9uTG9hZAUHaW5pdCgpOxYCAgEPZBYGAgMPFgIeA3NyYwUQfi9pbWFnZXMvVEdQLmdpZmQCBw88KwAFAQMUKwADD2QWAg9mFCsAAmRkDwIBFCsAAmRkZGQWAmYPZBYEZg8UKwACZGQWAmYPZBYCBRZOYXZpZ2F0aW9uVXNlckNvbnRyb2wxD2QWAgICDw8WBB4IQ3NzQ2xhc3MFC3RhYmxlSGVhZGVyHgRfIVNCAgJkZAIBDxQrAAJkZBYCZg9kFgIFE0NvbnRlbnRQbGFjZUhvbGRlcjEPZBYIAgEPZ BYEAgEPZBYCZg9kFgICAQ8PFgIeB1Zpc2libGVnZBYCZg9kFgpmDw8WBB4FV2lkdGgbAAAAAAAAJEAHAAAAHwYCgAJkFgJmDw8WAh4LUG9zdEJhY2tVcmwFdk9wZXJBdmFpbEF1dG9RdWVyeS5hc3B4P2NvZGU9VEdQJm5hbWU9T3BlcmF0aW9uYWxseSBBdmFpbGFibGUgQ2FwYWNpdHkmc3RhdHVzPUNhcCZzUGFyYW0yPU0mc1BhcmFtMz01LzQvMjAxMiZzUGFyYW04PVNkZAIBDw8WBB8IGwAAAAAAADlABwAAAB8GAoACZBYCZg8PFgIeBFRleHQFEFN1bW1hcnkgRG93bmxvYWQWBB4Hb25jbGljawUKc2hvd0ltZygpOx4Gb25CbHVyBQpoaWRlSW1nKCk7ZAICDw8WBB8IGwAAAAAAQFBABwAAAB8GAoACZGQCAw9kFgJmDw8WAh8HZ2RkAgQPZBYCZg8QDxYEHgtfIURhdGFCb3VuZGcfB2cWAh4Ib25jaGFuZ2UFDXNob3dJbWdEREwoKTsQFQQCMTUCMzACNTADQWxsFQQCMTUCMzACNTADQWxsFCsDBGdnZ2cWAWZkAgMPZBYCZg9kFgICAQ8UKwACDxYGHglJdGVtQ291bnQC%2F%2F%2F%2F%2Fw8eC18hSXRlbUNvdW50Ag8fB2dkPCsAHAQAFggeEnNlckFjdGl2ZVJvd1N0cmluZ2QeF1NvcnRpbmdBbGdvcml0aG1EZWZhdWx0CymjAUluZnJhZ2lzdGljcy5XZWJVSS5VbHRyYVdlYkdyaWQuU29ydGluZ0FsZ29yaXRobSwgSW5mcmFnaXN0aWNzMi5XZWJVSS5VbHRyYVdlYkdyaWQudjExLjEsIFZlcnNpb249MTEuMS4yMDExMS4xMDA2LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTdkZDVjMzE2M2YyY2QwY2IFHhNzZXJBY3R pdmVDZWxsU3RyaW5nZB4TQWxsb3dTb3J0aW5nRGVmYXVsdAspnwFJbmZyYWdpc3RpY3MuV2ViVUkuVWx0cmFXZWJHcmlkLkFsbG93U29ydGluZywgSW5mcmFnaXN0aWNzMi5XZWJVSS5VbHRyYVdlYkdyaWQudjExLjEsIFZlcnNpb249MTEuMS4yMDExMS4xMDA2LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTdkZDVjMzE2M2YyY2QwY2IBCBYCHgFCBRBvdmVyZmxvdzpoaWRkZW47ExQrAAMWCB4LQWxsb3dQYWdpbmdnHghQYWdlU2l6ZQIPHhBDdXJyZW50UGFnZUluZGV4AgEeCVBhZ2VDb3VudAJoZGQUFCsAAmQWATwrABQCABYKHg1CYXNlVGFibGVOYW1lBQZUYWJsZTEeD0NoaWxkQmFuZENvbHVtbmUeEEFkZEJ1dHRvbkNhcHRpb24FBlRhYmxlMR4UQWRkQnV0dG9uVG9vbFRpcFRleHRkHgNLZXkFBlRhYmxlMQ0UKwAEFhQoKVpTeXN0ZW0uVUludDY0LCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkBMSgrBgEyKCsGATMoKwYBNCgrBgE1KCsGATYoKwYBNygrBgE4KCsGATkoKwYCMTAoKwYCMTEoKwYCMTIoKwYCMTMoKwYCMTQoKwYCMTUoKwYCMTYoKwYCMTcoKwYCMTgoKwYCMTkoKwYCMjAWFWQUKwAJFgYeDkJhc2VDb2x1bW5OYW1lBRJBdmFpbCBDYXAgRWZmIERhdGUfHgUSQXZhaWwgQ2FwIEVmZiBEYXRlHgdJc0JvdW5kZ2RkZGRkFCsABRYCHgdDYXB0aW9uBRJBdmFpbCBDYXAgRWZmIERhdGVkZBYCHgdPcmlnaW5YAgF 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%2FY29kZT1UR1AmbmFtZT1PcGVyYXRpb25hbGx5IEF2YWlsYWJsZSBDYXBhY2l0eSZzdGF0dXM9Q2FwJnNQYXJhbTE9VEdQJnNQYXJhbTI9RCZzUGFyYW0zPTA1LzA0LzIwMTIgMDk6MDAmc1BhcmFtND1QMDAwODAmc1BhcmFtNT0wMDE3NTYmc1BhcmFtNj1DQVJUSEFHRSBMSU5FIFRFUk1JTlVTJnNQYXJhbTc9TWF5ICA0IDIwMTIgIDk6NDZQTSZzUGFyYW04PUQmZGV0YWlscz1ZZGQCAQ9kFgICAQ8PFgIfJwX1AU9wZXJBdmFpbEF1dG9UYWJsZS5hc3B4P2NvZGU9VEdQJm5hbWU9T3BlcmF0aW9uYWxseSBBdmFpbGFibGUgQ2FwYWNpdHkmc3RhdHVzPUNhcCZzUGFyYW0xPVRHUCZzUGFyYW0yPUQmc1BhcmFtMz0wNS8wNC8yMDEyIDA5OjAwJnNQYXJhbTQ9UDAwMTg2JnNQYXJhbTU9MDAxNDc5JnNQYXJhbTY9Q1JBTlNUT04gTEFURVJBTCAtIEJFR0lOUyAyNjVBJnNQYXJhbTc9TWF5ICA0IDIwMTIgIDk6NDZQTSZzUGFyYW04PUQmZGV0YWlscz1ZZGQCAg9kFgICAQ8PFgIfJwXgAU9wZXJBdmFpbEF1dG9UYWJsZS5hc3B4P2NvZGU9VEdQJm5hbWU9T3BlcmF0aW9uYWxseSBBdmFpbGFibGUgQ2FwYWNpdHkmc3RhdHVzPUNhcCZzUGFyYW0xPVRHUCZzUGFyYW0yPUQmc1BhcmFtMz0wNS8wNC8yMDEyIDA5OjAwJnNQYXJhbTQ9UDAwMzQ5JnNQYXJhbTU9MDAxODM2JnNQYXJhbTY9SEMgWk9ORSA1JnNQYXJhbTc9TWF5ICA0IDIwMTIgIDk6N DZQTSZzUGFyYW04PUQmZGV0YWlscz1ZZGQCAw9kFgICAQ8PFgIfJwXnAU9wZXJBdmFpbEF1dG9UYWJsZS5hc3B4P2NvZGU9VEdQJm5hbWU9T3BlcmF0aW9uYWxseSBBdmFpbGFibGUgQ2FwYWNpdHkmc3RhdHVzPUNhcCZzUGFyYW0xPVRHUCZzUGFyYW0yPUQmc1BhcmFtMz0wNS8wNC8yMDEyIDA5OjAwJnNQYXJhbTQ9UDAwMzU5JnNQYXJhbTU9MDAwMzM4JnNQYXJhbTY9TUxWIDI2MCAoRC9TIFNNKSZzUGFyYW03PU1heSAgNCAyMDEyICA5OjQ2UE0mc1BhcmFtOD1EJmRldGFpbHM9WWRkAgQPZBYCAgEPDxYCHycF7AFPcGVyQXZhaWxBdXRvVGFibGUuYXNweD9jb2RlPVRHUCZuYW1lPU9wZXJhdGlvbmFsbHkgQXZhaWxhYmxlIENhcGFjaXR5JnN0YXR1cz1DYXAmc1BhcmFtMT1UR1Amc1BhcmFtMj1EJnNQYXJhbTM9MDUvMDQvMjAxMiAwOTowMCZzUGFyYW00PVAwMDAyOCZzUGFyYW01PTAwMTQ4MCZzUGFyYW02PU1MViAyNjZBIChQQVdUVUNLRVRUKSZzUGFyYW03PU1heSAgNCAyMDEyICA5OjQ2UE0mc1BhcmFtOD1EJmRldGFpbHM9WWRkAgUPZBYCAgEPDxYCHycF5wFPcGVyQXZhaWxBdXRvVGFibGUuYXNweD9jb2RlPVRHUCZuYW1lPU9wZXJhdGlvbmFsbHkgQXZhaWxhYmxlIENhcGFjaXR5JnN0YXR1cz1DYXAmc1BhcmFtMT1UR1Amc1BhcmFtMj1EJnNQYXJhbTM9MDUvMDQvMjAxMiAwOTowMCZzUGFyYW00PVAwMDMyMSZzUGFyYW01PTAwMDI4NiZzUGFyYW02PU1MViAzMTQgKEQvUyBNUykmc1BhcmFtNz1NYXkgIDQgMjAxM iAgOTo0NlBNJnNQYXJhbTg9RCZkZXRhaWxzPVlkZAIGD2QWAgIBDw8WAh8nBecBT3BlckF2YWlsQXV0b1RhYmxlLmFzcHg%2FY29kZT1UR1AmbmFtZT1PcGVyYXRpb25hbGx5IEF2YWlsYWJsZSBDYXBhY2l0eSZzdGF0dXM9Q2FwJnNQYXJhbTE9VEdQJnNQYXJhbTI9RCZzUGFyYW0zPTA1LzA0LzIwMTIgMDk6MDAmc1BhcmFtND1QMDAwOTUmc1BhcmFtNT0wMDE3NTQmc1BhcmFtNj1NTFYgMzM2IChEL1MgU00pJnNQYXJhbTc9TWF5ICA0IDIwMTIgIDk6NDZQTSZzUGFyYW04PUQmZGV0YWlscz1ZZGQCBw9kFgICAQ8PFgIfJwXzAU9wZXJBdmFpbEF1dG9UYWJsZS5hc3B4P2NvZGU9VEdQJm5hbWU9T3BlcmF0aW9uYWxseSBBdmFpbGFibGUgQ2FwYWNpdHkmc3RhdHVzPUNhcCZzUGFyYW0xPVRHUCZzUGFyYW0yPUQmc1BhcmFtMz0wNS8wNC8yMDEyIDA5OjAwJnNQYXJhbTQ9UDAwMTYyJnNQYXJhbTU9MDAxNzczJnNQYXJhbTY9TUxWIDM1NSAoVS9TIFNNKSBEL1MgT0YgUE9PTCZzUGFyYW03PU1heSAgNCAyMDEyICA5OjQ2UE0mc1BhcmFtOD1EJmRldGFpbHM9WWRkAggPZBYCAgEPDxYCHycF3QFPcGVyQXZhaWxBdXRvVGFibGUuYXNweD9jb2RlPVRHUCZuYW1lPU9wZXJhdGlvbmFsbHkgQXZhaWxhYmxlIENhcGFjaXR5JnN0YXR1cz1DYXAmc1BhcmFtMT1UR1Amc1BhcmFtMj1EJnNQYXJhbTM9MDUvMDQvMjAxMiAwOTowMCZzUGFyYW00PVAwMDI5MiZzUGFyYW01PTAwMDA2MyZzUGFyYW02PU1MViA0OCZzUGFyYW03PU1heSAgNCA yMDEyICA5OjQ2UE0mc1BhcmFtOD1EJmRldGFpbHM9WWRkAgkPZBYCAgEPDxYCHycF%2BQFPcGVyQXZhaWxBdXRvVGFibGUuYXNweD9jb2RlPVRHUCZuYW1lPU9wZXJhdGlvbmFsbHkgQXZhaWxhYmxlIENhcGFjaXR5JnN0YXR1cz1DYXAmc1BhcmFtMT1UR1Amc1BhcmFtMj1EJnNQYXJhbTM9MDUvMDQvMjAxMiAwOTowMCZzUGFyYW00PVAwMDEwOCZzUGFyYW01PTAwMTc3NyZzUGFyYW02PU1MViA1MjkgLyBZc2Nsb3NrZXkgUGxhbnQgKFUvUyBTTSkmc1BhcmFtNz1NYXkgIDQgMjAxMiAgOTo0NlBNJnNQYXJhbTg9RCZkZXRhaWxzPVlkZAIKD2QWAgIBDw8WAh8nBfcBT3BlckF2YWlsQXV0b1RhYmxlLmFzcHg%2FY29kZT1UR1AmbmFtZT1PcGVyYXRpb25hbGx5IEF2YWlsYWJsZSBDYXBhY2l0eSZzdGF0dXM9Q2FwJnNQYXJhbTE9VEdQJnNQYXJhbTI9RCZzUGFyYW0zPTA1LzA0LzIwMTIgMDk6MDAmc1BhcmFtND1QMDAxNjUmc1BhcmFtNT0wMDE0Nzgmc1BhcmFtNj1OLiBIQU1QVE9OIExBVEVSQUwgLSBCRUdJTlMgMjYwQSZzUGFyYW03PU1heSAgNCAyMDEyICA5OjQ2UE0mc1BhcmFtOD1EJmRldGFpbHM9WWRkAgsPZBYCAgEPDxYCHycF4wFPcGVyQXZhaWxBdXRvVGFibGUuYXNweD9jb2RlPVRHUCZuYW1lPU9wZXJhdGlvbmFsbHkgQXZhaWxhYmxlIENhcGFjaXR5JnN0YXR1cz1DYXAmc1BhcmFtMT1UR1Amc1BhcmFtMj1EJnNQYXJhbTM9MDUvMDQvMjAxMiAwOTowMCZzUGFyYW00PVAwMDA4OCZzUGFyYW01PTAwMTc1OCZzUGF yYW02PU5JQUdBUkEgU1BVUiZzUGFyYW03PU1heSAgNCAyMDEyICA5OjQ2UE0mc1BhcmFtOD1EJmRldGFpbHM9WWRkAgwPZBYCAgEPDxYCHycF8gFPcGVyQXZhaWxBdXRvVGFibGUuYXNweD9jb2RlPVRHUCZuYW1lPU9wZXJhdGlvbmFsbHkgQXZhaWxhYmxlIENhcGFjaXR5JnN0YXR1cz1DYXAmc1BhcmFtMT1UR1Amc1BhcmFtMj1EJnNQYXJhbTM9MDUvMDQvMjAxMiAwOTowMCZzUGFyYW00PVAwMDI5NyZzUGFyYW01PTAwMTgzMSZzUGFyYW02PU5JQUdBUkEgU1BVUiBCQUNLSEFVTCBQT0lOVCZzUGFyYW03PU1heSAgNCAyMDEyICA5OjQ2UE0mc1BhcmFtOD1EJmRldGFpbHM9WWRkAg0PZBYCAgEPDxYCHycF5wFPcGVyQXZhaWxBdXRvVGFibGUuYXNweD9jb2RlPVRHUCZuYW1lPU9wZXJhdGlvbmFsbHkgQXZhaWxhYmxlIENhcGFjaXR5JnN0YXR1cz1DYXAmc1BhcmFtMT1UR1Amc1BhcmFtMj1EJnNQYXJhbTM9MDUvMDQvMjAxMiAwOTowMCZzUGFyYW00PVAwMDA4MSZzUGFyYW01PTAwMTc1OSZzUGFyYW02PVNUQSAwMDEgKFUvUyBNUykmc1BhcmFtNz1NYXkgIDQgMjAxMiAgOTo0NlBNJnNQYXJhbTg9RCZkZXRhaWxzPVlkZAIOD2QWAgIBDw8WAh8nBecBT3BlckF2YWlsQXV0b1RhYmxlLmFzcHg%2FY29kZT1UR1AmbmFtZT1PcGVyYXRpb25hbGx5IEF2YWlsYWJsZSBDYXBhY2l0eSZzdGF0dXM9Q2FwJnNQYXJhbTE9VEdQJnNQYXJhbTI9RCZzUGFyYW0zPTA1LzA0LzIwMTIgMDk6MDAmc1BhcmFtND1QMDAwNTMmc1BhcmFtNT0wM DE3NDcmc1BhcmFtNj1TVEEgMDE3IChVL1MgU00pJnNQYXJhbTc9TWF5ICA0IDIwMTIgIDk6NDZQTSZzUGFyYW04PUQmZGV0YWlscz1ZZGQCAg8UKwACZDwrABwBABYEHxNkHxFkZAIDDxYCHgJkTgUiT3BlcmF0aW9uYWxseUF2YWlsYWJsZUNhcGFjaXR5LlhMU2QCBA8UKwACFgIeDERvd25sb2FkTmFtZQUeT3BlcmF0aW9uYWxseUF2YWlsYWJsZUNhcGFjaXR5ZGQCCQ8WAh4FVmFsdWUFgwFNYXN0ZXJTdHlsZVNoZWV0LmNzc3wuLi9pZ19yZXMvRWxlY3RyaWNCbHVlL2lnX3NwbGl0dGVyLmNzc3wuLi9pZ19yZXMvRWxlY3RyaWNCbHVlL2lnX3NoYXJlZC5jc3N8Li4vaWdfcmVzL0VsZWN0cmljQmx1ZS9pZ19ncmlkLmNzc2QYAQUeX19Db250cm9sc1JlcXVpcmVQb3N0QmFja0tleV9fFgMFEmN0bDAwJFdlYlNwbGl0dGVyMQU5Y3RsMDAkV2ViU3BsaXR0ZXIxJHRtcGwwJE5hdmlnYXRpb25Vc2VyQ29udHJvbDEkVHJlZVZpZXcxBTpjdGwwMCRXZWJTcGxpdHRlcjEkdG1wbDEkQ29udGVudFBsYWNlSG9sZGVyMSRVbHRyYVdlYkdyaWQxChBz9pI6%2BnL7w6b%2B8VpMMVQUpjRuWt1dkDI5QOKOHqk%3D&__ |上一页= q1Vu5vuap4CxPC3AZarvFeTSUmpu1Y5Qe6RAgsXMl EM> -9eN-hzR45dQjqjC-HEjZ0&__ EVENTVALIDATION =%2FwEWDwKF0M%2FIBQKWk6OhBAKx%2FMC2DgLM5d7LCALhg%2FaUDwKHxPzXAQKkobflCwKtsbmoAQLQ5oWgCgL73d1IAvSyi6UMAvayt6UMAvCyt6UMAoaSk6MKAqDJoG0zZk9itnjK zHvp455sJC0LF3pnU%2F9GwKhhL5KKketXYQ%3D%3D&ctl00_WebSplitter1_clientState=%7C0%7C216%2C2%2C1058%2C2%2C%7C%7C%5B%5B%5B%5Bnull%2Cnull%5D%5D%2C%5B%5D%2C%5B%B7 %220%22%3A%5B%5Bnull%2Cnull%2Cnull%2Cnull%2Cnull%2Cnull%2C2%2Cnull%2Cnull%2Cnull%2C%2217%25%22%5D%5D%2C%221%22%3A%5B %5Bnull%2Cnull%2Cnull%2Cnull%2Cnull%2Cnull%2Cnull%2Cnull%2Cnull%2Cnull%2C%2283%25%22%5D%5D%7D%5D%5D%2C%5B%7B%7D%2C%5B %7B%222%22%3A%5B%221%22%2C10%2C%221058px%22%5D%2C%223%22%3A%5B%220%22%2C10%2C%22216px%22%5D%7D %5D%5D%2Cnull%5D&ctl00%24WebSplitter1%24tmpl1%24ContentPlaceHolder1%24sumBtnDownload =摘要+下载和ctl00%24WebSplitter1%24tmpl1%24ContentPlaceHolder1%24SumDownloadDDL = EXCEL&ctl00%24WebSplitter1%24tmpl1%24ContentPlaceHolder1%24PageSizeDDL = 15&ctl00xWebSplitter1xtmpl1xContentPlaceHolder1xUltraWebGrid1 =%253CDisplayLayout%253E%253CStateChanges%253E% 253C%2FStateChanges%253E%253C%2FDisplayLayout%253E&ctl00%24_IG_CSS_LINKS_=MasterStyleSheet.css%7C..%2Fig_res%2FElectricBlue%2Fig_splitter.css%7C..%2Fig_res%2FElectricBlu e%2Fig_shared.css%7C..%2Fig_res%2FElectricBlue%2Fig_grid.css
这是使用 HTTP Analyzer v6 发现的。我制作了一个 VB6 测试程序,我成功下载了 5/4/2012、5/3/2012 和 5/2/2012,只需更改 URL 中的 Param3,它使用 cURL,但您应该可以将其用作如何提交 http 请求以接收 excel 文件作为 http 响应的示例。 LoadResString(101) 将上述发布数据加载到 CURLOPT_POSTFIELDS 中。等效地,LoadResString 可以替换为上述帖子数据的字符串文字。
Private Sub XPButton1_Click()
Dim CurlContext As Long
Dim buf As New StringBuffer
CurlContext = vbcurl_easy_init()
vbcurl_easy_setopt CurlContext, CURLOPT_URL, "http://tebb.elpaso.com/ebbmasterpage/Capacity/OperAvailAutoTable.aspx?code=TGP&name=Operationally+Available+Capacity&status=Cap&sParam2=M&sParam3=5%2f3%2f2012&sParam8=S"
vbcurl_easy_setopt CurlContext, CURLOPT_COOKIEJAR, App.Path & "\cookie.txt"
vbcurl_easy_setopt CurlContext, CURLOPT_COOKIEFILE, App.Path & "\cookie.txt"
vbcurl_easy_setopt CurlContext, CURLOPT_FOLLOWLOCATION, 1
vbcurl_easy_setopt CurlContext, CURLOPT_POST, 1
vbcurl_easy_setopt CurlContext, CURLOPT_POSTFIELDS, LoadResString(101)
vbcurl_easy_setopt CurlContext, CURLOPT_PROXYAUTH, CURLAUTH_ANY 'the next 5 lines are only needed to accommodate connecting through a proxy server
vbcurl_easy_setopt CurlContext, CURLOPT_HTTPPROXYTUNNEL, 0
vbcurl_easy_setopt CurlContext, CURLOPT_PROXY, "your.proxy.if.any.com"
vbcurl_easy_setopt CurlContext, CURLOPT_PROXYPORT, 80 'or your proxy port
vbcurl_easy_setopt CurlContext, CURLOPT_PROXYUSERPWD, ""
vbcurl_easy_setopt CurlContext, CURLOPT_WRITEDATA, ObjPtr(buf)
vbcurl_easy_setopt CurlContext, CURLOPT_WRITEFUNCTION, _
AddressOf WriteFunction
vbcurl_easy_setopt CurlContext, CURLOPT_DEBUGFUNCTION, _
AddressOf DebugFunction
vbcurl_easy_setopt CurlContext, CURLOPT_VERBOSE, True
ret = vbcurl_easy_perform(CurlContext)
Open App.Path & "\test.xls" For Output As #1
Print #1, buf.stringData
Close #1
End Sub
这是下载数据的直接方式,使用 Siddharth Rout 的路由将能够适应网站的代码更改。关于“复杂部分”的最后一点。您需要做的就是使用 FindWindow 等待“文件下载”框出现,一旦您知道它已启动,您可以使用 keybd_event 发送 3 个选项卡和一个回车键,稍等片刻,再次按回车键“y”如果您要覆盖文件。现在,直接下载的优点是您可以准确选择保存位置和方式。
如果您想了解更多关于我的方法的细节,我很乐意将代码发布到 StringBuffer、WriteFunction 和 DebugFunction 并解释如何从 vb 中引用 libcurl。
更新,每个请求的附加代码:
StringBuffer.cls
Private byteData() As Byte
Private stringLength As Long
Private arrayLength As Long
Private Sub Class_Initialize()
ReDim byteData(1024)
arrayLength = 1024
stringLength = 0
End Sub
Public Sub Class_Terminate()
Erase byteData
End Sub
Public Property Get stringData() As String
stringData = String(stringLength, " ")
CopyMemory ByVal stringData, byteData(0), stringLength
End Property
Public Property Let stringData(newStringdata As String)
Dim newStringLength As Long
newStringLength = Len(newStringdata)
If newStringLength > arrayLength Then
arrayLength = (arrayLength + (newStringLength - newStringLength Mod 2)) * 2
ReDim Preserve byteData(arrayLength)
End If
CopyMemory byteData(0), ByVal newStringdata, newStringLength
stringLength = newStringLength
End Property
Public Function quickConcat(newStringdata As String)
Dim newStringLength As Long
newStringLength = Len(newStringdata) + stringLength
If newStringLength > arrayLength Then
arrayLength = (arrayLength + (newStringLength - newStringLength Mod 2)) * 2
ReDim Preserve byteData(arrayLength)
End If
Dim amountToAdd
amountToAdd = newStringLength - stringLength
CopyMemory byteData(stringLength), ByVal newStringdata, amountToAdd
stringLength = newStringLength
End Function
WriteFunction:
Public Function WriteFunction(ByVal rawBytes As Long, _
ByVal sz As Long, ByVal nmemb As Long, _
ByVal extra As Long) As Long
Dim totalBytes As Long, i As Long
Dim obj As Object, buf As StringBuffer
Dim tempStr As String
Dim Buffer() As Byte
totalBytes = sz * nmemb
Set obj = AsObject(extra)
Set buf = obj
' append the binary characters to the HTML string
If Not ((rawBytes = 0) Or (totalBytes = 0)) Then
ReDim Buffer(0 To (totalBytes - 1)) As Byte
CopyMemory Buffer(0), ByVal rawBytes, totalBytes
tempStr = String(totalBytes, " ")
CopyMemory ByVal tempStr, Buffer(0), totalBytes
buf.quickConcat (tempStr)
End If
' Need this line below since AsObject gets a stolen reference
ObjectPtr(obj) = 0&
' Return value
WriteFunction = totalBytes
End Function
DebugFunction:
Public Function DebugFunction(ByVal info As curl_infotype, _
ByVal rawBytes As Long, ByVal numBytes As Long, _
ByVal extra As Long) As Long
Dim debugMsg As String
Dim i As Long
debugMsg = ""
For i = 0 To numBytes - 1
debugMsg = debugMsg & Chr(MemByte(rawBytes + i))
Next
Debug.Print "info=" & info & ", debugMsg=" & debugMsg
DebugFunction = 0
DoEvents
End Function
以下是在 vb6 中使用 curl 所需的 dll 和类型库:
libcurl bindings for vb6
将上面的文件解压到项目目录,然后进入project->references并添加两个tlb文件(类型库)。
另外,这里是 vb libcurl 绑定的 sourceforge 页面,下载包括源代码和几个示例:http://sourceforge.net/projects/libcurl-vb/