首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在c#中发布url并检索html

在c#中发布url并检索html
EN

Stack Overflow用户
提问于 2011-10-25 18:06:31
回答 2查看 1.3K关注 0票数 0

我必须得到一个特定页面的html代码。url格式为:

http://www.externalwebsite.com/dir/page.html?p1=parameter1value&p2=parametervalue2

当我得到这个页面的html代码时,有一个隐藏的值列表,其中填充了之前在查询字符串中编写的p1和p2参数。然后有一个POST操作,它重定向到"/dir/page.html":在这个页面中有我需要的html内容。

有没有办法获取"dir/page.html“的html内容?

任何帮助都是非常感谢的!

谢谢

我已经使用streamreader实现了GetResponseStream,但是我得到了下面这段代码:

代码语言:javascript
复制
<form name="myForm" method="post" action="/dir/page.html" accept-charset="ISO-8859-1">
    <input type="hidden" name="p1" value="parameter1">
    <input type="hidden" name="p2" value="parameter2">
</form>
EN

回答 2

Stack Overflow用户

发布于 2011-10-25 18:09:51

你想要GetResponse。就像..。

代码语言:javascript
复制
HttpWebRequest request =          
    WebRequest.Create("http://www.externalwebsite.com/dir/page.html");
HttpWebResponse response  = request.GetResponse();
StreamReader reader  = New StreamReader(response.GetResponseStream());
string sHTML = reader.ReadToEnd();
票数 1
EN

Stack Overflow用户

发布于 2011-10-25 18:24:36

您已经发出了一个HTTP GET请求,但是在提交表单时,您必须向服务器发出一个包含两个参数p1和p2的HTTP PUT请求。

您可以使用WebRequestClassWebClient类和UploadValues方法通过HTTP POST发送参数:

代码语言:javascript
复制
WebClient wc = new WebClient();
byte[] result = wc.UploadValues("http://www.externalwebsite.com/dir/page.html", 
                                "POST", 
                                new NameValueCollection
                                    {
                                        { "p1", parameter1 }, 
                                        { "p2", parameter2 }
                                    });
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7887659

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档