我需要在.net中模拟Excel Web查询下面是示例代码。当我尝试在.net中执行此操作时,我得到一个Error500,但是在Excel中它工作正常。关于我做错了什么的任何想法?当我将URI更改为普通网站时,它工作正常,并从页面返回html,这就是我所追求的。我想知道问题是否来自我试图返回数据表的事实
Dim oHttpWebRequest As System.Net.HttpWebRequest
Dim oStream As System.IO.Stream
Dim sChunk As String
oHttpWebRequest = (System.Net.HttpWebRequest.Create("http://somesite/foo.jsp"))
Dim oHttpWebResponse As System.Net.WebResponse = oHttpWebRequest.GetResponse()
oStream = oHttpWebResponse.GetResponseStream
sChunk = New System.IO.StreamReader(oStream).ReadToEnd()
oStream.Close()
oHttpWebResponse.Close()
以下是Excel中的查询
WEB
1
http:/somesite/foo.jsp
Selection=DataTable
Formatting=None
PreFormattedTextToColumns=True
ConsecutiveDelimitersAsOne=True
SingleBlockTextImport=False
DisableDateRecognition=False
DisableRedirections=False
修改 当我从服务器获取响应时,我收到错误
答案 0 :(得分:1)
我发现了我遇到的问题。
我使用fiddler找出通过excel发送的标头,并将其与标题进行比较.net正在发送 http://www.fiddler2.com/Fiddler2/version.asp
我必须添加以下代码行来添加这两个标题才能使其正常工作
oHttpWebRequest.Headers.Add(HttpRequestHeader.Pragma, "no-cache")
oHttpWebRequest.Headers.Add(HttpRequestHeader.AcceptLanguage, "en-us")