我对网络编程非常陌生。我正在尝试从 ASP.net 网站下载 excel。IT 不需要身份验证,但是我无法调试 URL,因为萤火虫不会像我一样请求 URL。高低搜索。对此的任何输入都会很棒。先感谢您。
行动:我点击“摘要下载”按钮下载excel。
我不知道 onClick() 去哪里了。
我对网络编程非常陌生。我正在尝试从 ASP.net 网站下载 excel。IT 不需要身份验证,但是我无法调试 URL,因为萤火虫不会像我一样请求 URL。高低搜索。对此的任何输入都会很棒。先感谢您。
行动:我点击“摘要下载”按钮下载excel。
我不知道 onClick() 去哪里了。
Param3 代表日期,%2f 是 html 编码的 /
这里的关键是发布数据。要下载 excel 文件,原始帖子数据是:
__ EVENTTARGET=& _EVENTARGUMENT=&ctl00_WebSplitter1_tmpl0_NavigationUserControl1_TreeView1_ExpandState=ennunnnnnnnnunnnnnunnnnnnnunnnnnnnnnnnnnnnnnnnnnnnnnnnnnunnnnnnnnnnnnnnnnnnnnnnnnnunnnnnnnnnnnnnnnnnnnnnnnnn&ctl00_WebSplitter1_tmpl0_NavigationUserControl1_TreeView1_SelectedNode=&_ LASTFO_VIEWSTATE=%2FwEPDwUIOTA0MDgxNzEPFgYeCmhpZGVDb2x1bW4y3QEAAQAAAP%2F%2F%2F%4P2NvZGU9VEdQJm5hbWU9T3BlcmF0aW9uYWxseSBBdmFpbGFibGUgQ2FwYWNpdHkmc3RhdHVzPUNhcCZzUGFyYW0yPU0mc1BhcmFtMz01LzQvMjAxMiZzUGFyYW04PVNkZAIBDw8WBB8IGwAAAAAAADlABwAAAB8GAoACZBYCZg8PFgIeBFRleHQFEFN1bW1hcnkgRG93bmxvYWQWBB4Hb25jbGljawUKc2hvd0ltZygpOx4Gb25CbHVyBQpoaWRlSW1nKCk7ZAICDw8WBB8IGwAAAAAAQFBABwAAAB8GAoACZGQCAw9kFgJmDw8WAh8HZ2RkAgQPZBYCZg8QDxYEHgtfIURhdGFCb3VuZGcfB2cWAh4Ib25jaGFuZ2UFDXNob3dJbWdEREwoKTsQFQQCMTUCMzACNTADQWxsFQQCMTUCMzACNTADQWxsFCsDBGdnZ2cWAWZkAgMPZBYCZg9kFgICAQ8UKwACDxYGHglJdGVtQ291bnQC%2F%2F%2F%2F%2Fw8eC18hSXRlbUNvdW50Ag8fB2dkPCsAHAQAFggeEnNlckFjdGl2ZVJvd1N0cmluZ2QeF1NvcnRpbmdBbGdvcml0aG1EZWZhdWx0CymjAUluZnJhZ2lzdGljcy5XZWJVSS5VbHRyYVdlYkdyaWQuU29ydGluZ0FsZ29yaXRobSwgSW5mcmFnaXN0aWNzMi5XZWJVSS5VbHRyYVdlYkdyaWQudjExLjEsIFZlcnNpb249MTEuMS4yMDExMS4xMDA2LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTdkZDVjMzE2M2YyY2QwY2IFHhNzZXJBY3RpdmVDZWxsU3RyaW5nZB4TQWxsb3dTb3J0aW5nRGVmYXVsdAspnwFJbmZyYWdpc3RpY3MuV2ViVUkuVWx0cmFXZWJHcmlkLkFsbG93U29ydGluZywgSW5mcmFnaXN0aWNzMi5XZWJVSS5VbHRyYVdlYkdyaWQudjExLjEsIFZlcnNpb249MTEuMS4yMDExMS4xMDA2LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTdkZDVjMzE2M2YyY2QwY2IBCBYCHgFCBRBvdmVyZmxvdzpoaWRkZW47ExQrAAMWCB4LQWxsb3dQYWdpbmdnHghQYWdlU2l6ZQIPHhBDdXJyZW50UGFnZUluZGV4AgEeCVBhZ2VDb3VudAJoZGQUFCsAAmQWATwrABQCABYKHg1CYXNlVGFibGVOYW1lBQZUYWJsZTEeD0NoaWxkQmFuZENvbHVtbmUeEEFkZEJ1dHRvbkNhcHRpb24FBlRhYmxlMR4UQWRkQnV0dG9uVG9vbFRpcFRleHRkHgNLZXkFBlRhYmxlMQ0UKwAEFhQoKVpTeXN0ZW0uVUludDY0LCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkBMSgrBgEyKCsGATMoKwYBNCgrBgE1KCsGATYoKwYBNygrBgE4KCsGATkoKwYCMTAoKwYCMTEoKwYCMTIoKwYCMTMoKwYCMTQoKwYCMTUoKwYCMTYoKwYCMTcoKwYCMTgoKwYCMTkoKwYCMjAWFWQUKwAJFgYeDkJhc2VDb2x1bW5OYW1lBRJBdmF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%2FY29kZT1UR1AmbmFtZT1PcGVyYXRpb25hbGx5IEF2YWlsYWJsZSBDYXBhY2l0eSZzdGF0dXM9Q2FwJnNQYXJhbTE9VEdQJnNQYXJhbTI9RCZzUGFyYW0zPTA1LzA0LzIwMTIgMDk6MDAmc1BhcmFtND1QMDAwODAmc1BhcmFtNT0wMDE3NTYmc1BhcmFtNj1DQVJUSEFHRSBMSU5FIFRFUk1JTlVTJnNQYXJhbTc9TWF5ICA0IDIwMTIgIDk6NDZQTSZzUGFyYW04PUQmZGV0YWlscz1ZZGQCAQ9kFgICAQ8PFgIfJwX1AU9wZXJBdmFpbEF1dG9UYWJsZS5hc3B4P2NvZGU9VEdQJm5hbWU9T3BlcmF0aW9uYWxseSBBdmFpbGFibGUgQ2FwYWNpdHkmc3RhdHVzPUNhcCZzUGFyYW0xPVRHUCZzUGFyYW0yPUQmc1BhcmFtMz0wNS8wNC8yMDEyIDA5OjAwJnNQYXJhbTQ9UDAwMTg2JnNQYXJhbTU9MDAxNDc5JnNQYXJhbTY9Q1JBTlNUT04gTEFURVJBTCAtIEJFR0lOUyAyNjVBJnNQYXJhbTc9TWF5ICA0IDIwMTIgIDk6NDZQTSZzUGFyYW04PUQmZGV0YWlscz1ZZGQCAg9kFgICAQ8PFgIfJwXgAU9wZXJBdmFpbEF1dG9UYWJsZS5hc3B4P2NvZGU9VEdQJm5hbWU9T3BlcmF0aW9uYWxseSBBdmFpbGFibGUgQ2FwYWNpdHkmc3RhdHVzPUNhcCZzUGFyYW0xPVRHUCZzUGFyYW0yPUQmc1BhcmFtMz0wNS8wNC8yMDEyIDA5OjAwJnNQYXJhbTQ9UDAwMzQ5JnNQYXJhbTU9MDAxODM2JnNQYXJhbTY9SEMgWk9ORSA1JnNQYXJhbTc9TWF5ICA0IDIwMTIgIDk6NDZQTSZzUGFyYW04PUQmZGV0YWlscz1ZZGQCAw9kFgICAQ8PFgIfJwXnAU9wZXJBdmFpbEF1dG9UYWJsZS5hc3B4P2NvZGU9VEdQJm5hbWU9T3BlcmF0aW9uYWxseSBBdmFpbGFibGUgQ2FwYWNpdHkmc3RhdHVzPUNhcCZzUGFyYW0xPVRHUCZzUGFyYW0yPUQmc1BhcmFtMz0wNS8wNC8yMDEyIDA5OjAwJnNQYXJhbTQ9UDAwMzU5JnNQYXJhbTU9MDAwMzM4JnNQYXJhbTY9TUxWIDI2MCAoRC9TIFNNKSZzUGFyYW03PU1heSAgNCAyMDEyICA5OjQ2UE0mc1BhcmFtOD1EJmRldGFpbHM9WWRkAgQPZBYCAgEPDxYCHycF7AFPcGVyQXZhaWxBdXRvVGFibGUuYXNweD9jb2RlPVRHUCZuYW1lPU9wZXJhdGlvbmFsbHkgQXZhaWxhYmxlIENhcGFjaXR5JnN0YXR1cz1DYXAmc1BhcmFtMT1UR1Amc1BhcmFtMj1EJnNQYXJhbTM9MDUvMDQvMjAxMiAwOTowMCZzUGFyYW00PVAwMDAyOCZzUGFyYW01PTAwMTQ4MCZzUGFyYW02PU1MViAyNjZBIChQQVdUVUNLRVRUKSZzUGFyYW03PU1heSAgNCAyMDEyICA5OjQ2UE0mc1BhcmFtOD1EJmRldGFpbHM9WWRkAgUPZBYCAgEPDxYCHycF5wFPcGVyQXZhaWxBdXRvVGFibGUuYXNweD9jb2RlPVRHUCZuYW1lPU9wZXJhdGlvbmFsbHkgQXZhaWxhYmxlIENhcGFjaXR5JnN0YXR1cz1DYXAmc1BhcmFtMT1UR1Amc1BhcmFtMj1EJnNQYXJhbTM9MDUvMDQvMjAxMiAwOTowMCZzUGFyYW00PVAwMDMyMSZzUGFyYW01PTAwMDI4NiZzUGFyYW02PU1MViAzMTQgKEQvUyBNUykmc1BhcmFtNz1NYXkgIDQgMjAxMiAgOTo0NlBNJnNQYXJhbTg9RCZkZXRhaWxzPVlkZAIGD2QWAgIBDw8WAh8nBecBT3BlckF2YWlsQXV0b1RhYmxlLmFzcHg%GVyQXZhaWxBdXRvVGFibGUuYXNweD9jb2RlPVRHUCZuYW1lPU9wZXJhdGlvbmFsbHkgQXZhaWxhYmxlIENhcGFjaXR5JnN0YXR1cz1DYXAmc1BhcmFtMT1UR1Amc1BhcmFtMj1EJnNQYXJhbTM9MDUvMDQvMjAxMiAwOTowMCZzUGFyYW00PVAwMDI5MiZzUGFyYW01PTAwMDA2MyZzUGFyYW02PU1MViA0OCZzUGFyYW03PU1heSAgNCAyMDEyICA5OjQ2UE0mc1BhcmFtOD1EJmRldGFpbHM9WWRkAgkPZBYCAgEPDxYCHycF%2BQFPcGVyQXZhaWxBdXRvVGFibGUuYXNweD9jb2RlPVRHUCZuYW1lPU9wZXJhdGlvbmFsbHkgQXZhaWxhYmxlIENhcGFjaXR5JnN0YXR1cz1DYXAmc1BhcmFtMT1UR1Amc1BhcmFtMj1EJnNQYXJhbTM9MDUvMDQvMjAxMiAwOTowMCZzUGFyYW00PVAwMDEwOCZzUGFyYW01PTAwMTc3NyZzUGFyYW02PU1MViA1MjkgLyBZc2Nsb3NrZXkgUGxhbnQgKFUvUyBTTSkmc1BhcmFtNz1NYXkgIDQgMjAxMiAgOTo0NlBNJnNQYXJhbTg9RCZkZXRhaWxzPVlkZAIKD2QWAgIBDw8WAh8nBfcBT3BlckF2YWlsQXV0b1RhYmxlLmFzcHg%2FY29kZT1UR1AmbmFtZT1PcGVyYXRpb25hbGx5IEF2YWlsYWJsZSBDYXBhY2l0eSZzdGF0dXM9Q2FwJnNQYXJhbTE9VEdQJnNQYXJhbTI9RCZzUGFyYW0zPTA1LzA0LzIwMTIgMDk6MDAmc1BhcmFtND1QMDAxNjUmc1BhcmFtNT0wMDE0Nzgmc1BhcmFtNj1OLiBIQU1QVE9OIExBVEVSQUwgLSBCRUdJTlMgMjYwQSZzUGFyYW03PU1heSAgNCAyMDEyICA5OjQ2UE0mc1BhcmFtOD1EJmRldGFpbHM9WWRkAgsPZBYCAgEPDxYCHycF4wFPcGVyQXZhaWxBdXRvVGFibGUuYXNweD9jb2RlPVRHUCZuYW1lPU9wZXJhdGlvbmFsbHkgQXZhaWxhYmxlIENhcGFjaXR5JnN0YXR1cz1DYXAmc1BhcmFtMT1UR1Amc1BhcmFtMj1EJnNQYXJhbTM9MDUvMDQvMjAxMiAwOTowMCZzUGFyYW00PVAwMDA4OCZzUGFyYW01PTAwMTc1OCZzUGFyYW02PU5JQUdBUkEgU1BVUiZzUGFyYW03PU1heSAgNCAyMDEyICA5OjQ2UE0mc1BhcmFtOD1EJmRldGFpbHM9WWRkAgwPZBYCAgEPDxYCHycF8gFPcGVyQXZhaWxBdXRvVGFibGUuYXNweD9jb2RlPVRHUCZuYW1lPU9wZXJhdGlvbmFsbHkgQXZhaWxhYmxlIENhcGFjaXR5JnN0YXR1cz1DYXAmc1BhcmFtMT1UR1Amc1BhcmFtMj1EJnNQYXJhbTM9MDUvMDQvMjAxMiAwOTowMCZzUGFyYW00PVAwMDI5NyZzUGFyYW01PTAwMTgzMSZzUGFyYW02PU5JQUdBUkEgU1BVUiBCQUNLSEFVTCBQT0lOVCZzUGFyYW03PU1heSAgNCAyMDEyICA5OjQ2UE0mc1BhcmFtOD1EJmRldGFpbHM9WWRkAg0PZBYCAgEPDxYCHycF5wFPcGVyQXZhaWxBdXRvVGFibGUuYXNweD9jb2RlPVRHUCZuYW1lPU9wZXJhdGlvbmFsbHkgQXZhaWxhYmxlIENhcGFjaXR5JnN0YXR1cz1DYXAmc1BhcmFtMT1UR1Amc1BhcmFtMj1EJnNQYXJhbTM9MDUvMDQvMjAxMiAwOTowMCZzUGFyYW00PVAwMDA4MSZzUGFyYW01PTAwMTc1OSZzUGFyYW02PVNUQSAwMDEgKFUvUyBNUykmc1BhcmFtNz1NYXkgIDQgMjAxMiAgOTo0NlBNJnNQYXJhbTg9RCZkZXRhaWxzPVlkZAIOD2QWAgIBDw8WAh8nBecBT3BlckF2YWlsQXV0b1RhYmxlLmFzcHg%2FY29kZT1UR1AmbmFtZT1PcGVyYXRpb25hbGx5IEF2YWlsYWJsZSBDYXBhY2l0eSZzdGF0dXM9Q2FwJnNQYXJhbTE9VEdQJnNQYXJhbTI9RCZzUGFyYW0zPTA1LzA0LzIwMTIgMDk6MDAmc1BhcmFtND1QMDAwNTMmc1BhcmFtNT0wMDE3NDcmc1BhcmFtNj1TVEEgMDE3IChVL1MgU00pJnNQYXJhbTc9TWF5ICA0IDIwMTIgIDk6NDZQTSZzUGFyYW04PUQmZGV0YWlscz1ZZGQCAg8UKwACZDwrABwBABYEHxNkHxFkZAIDDxYCHgJkTgUiT3BlcmF0aW9uYWxseUF2YWlsYWJsZUNhcGFjaXR5LlhMU2QCBA8UKwACFgIeDERvd25sb2FkTmFtZQUeT3BlcmF0aW9uYWxseUF2YWlsYWJsZUNhcGFjaXR5ZGQCCQ8WAh4FVmFsdWUFgwFNYXN0ZXJTdHlsZVNoZWV0LmNzc3wuLi9pZ19yZXMvRWxlY3RyaWNCbHVlL2lnX3NwbGl0dGVyLmNzc3wuLi9pZ19yZXMvRWxlY3RyaWNCbHVlL2lnX3NoYXJlZC5jc3N8Li4vaWdfcmVzL0VsZWN0cmljQmx1ZS9pZ19ncmlkLmNzc2QYAQUeX19Db250cm9sc1JlcXVpcmVQb3N0QmFja0tleV9fFgMFEmN0bDAwJFdlYlNwbGl0dGVyMQU5Y3RsMDAkV2ViU3BsaXR0ZXIxJHRtcGwwJE5hdmlnYXRpb25Vc2VyQ29udHJvbDEkVHJlZVZpZXcxBTpjdGwwMCRXZWJTcGxpdHRlcjEkdG1wbDEkQ29udGVudFBsYWNlSG9sZGVyMSRVbHRyYVdlYkdyaWQxChBz9pI6%2BnL7w6b%2B8VpMMVQUpjRuWt1dkDI5QOKOHqk%3D&__PREVIOUSPAGE=__上一页=__上一页=q1Vu5vuap4CxPC3AZarvFeTSUmpu1Y5Qe6RAgsXMl-9eN-hzR45dQjqjC-HEjZ0&__EVENTVALIDATION=%2FwEWDwKF0M%2FIBQKWk6OhBAKx%2FMC2DgLM5d7LCALhg%2FaUDwKHxPzXAQKkobflCwKtsbmoAQLQ5oWgCgL73d1IAvSyi6UMAvayt6UMAvCyt6UMAoaSk6MKAqDJoG0zZk9itnjKzHvp455sJC0LF3pnU%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%7B%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%24ContentPlaceDLer1%24SumDownloadDctl00%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%2FElectricBlue%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
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
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
将上述文件解压到项目目录并转到项目->引用并添加两个 tlb 文件(类型库)。
此外,这里是 vb libcurl 绑定的 sourceforge 页面,下载包括源代码和几个示例:http: //sourceforge.net/projects/libcurl-vb/
你正在尝试的有点复杂。不是第一部分,而是第二部分。
逻辑
第 1 部分)单击“摘要下载”按钮以启动“文件下载”对话框
PART 2 ) 点击“文件下载”中的保存按钮,最终保存文件
第1部分
在表单上放置一个 WebBrowser1 控件和一个按钮。粘贴此代码。
Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click
WebBrowser1.Navigate("http://tebb.elpaso.com/ebbmasterpage/Capacity/OperAvailAutoTable.aspx?code=TGP&name=Operationally%20Available%20Capacity&status=Cap&sParam2=M&sParam3=5/4/2012&sParam8=S")
End Sub
Private Sub WebBrowser1_DocumentCompleted(sender As Object, e As _
System.Windows.Forms.WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompleted
If WebBrowser1.ReadyState <> 4 Then Exit Sub
Dim el As HtmlElement = _
WebBrowser1.Document.GetElementById("ctl00_WebSplitter1_tmpl1_ContentPlaceHolder1_sumBtnDownload")
el.InvokeMember("Click")
End Sub
现在,当您运行此代码时,它将单击“摘要下载”按钮并启动“文件下载”对话框。请参阅下面的快照。
第 2 部分 - 复杂部分
现在您需要使用 API 来单击对话框上的Save
按钮。File Download
幸运的是,我已经在我的博客中介绍了这一点,所以你不会有任何问题 :)
主题:VBA/VB.Net/VB6——在IE下载窗口点击打开/保存/取消按钮——第一部分
快照
高温高压