C#: Create a WebRequest with HTTPClient

http://www.cnblogs.com/shanyou/archive/2012/03/21/2410739.html

http://msdn.microsoft.com/zh-cn/library/system.net.http.httpclient.aspx

http://code.msdn.microsoft.com/Introduction-to-HttpClient-4a2d9cee

    using System.Net.Http;    public static string GetHttpResponse(string queryUrl)
        {

            try
            {
                HttpClientHandler handler = new HttpClientHandler();
                handler.UseDefaultCredentials = true;
                handler.CookieContainer = new CookieContainer();
                handler.UseCookies = true;
                handler.AllowAutoRedirect = true;

                using (HttpClient client = new HttpClient(handler))
                {
                    // Add a user-agent header
                    client.DefaultRequestHeaders.Add("user-agent", USERAGENT);
                    Console.WriteLine("update user agent {0}", client.DefaultRequestHeaders.UserAgent);

                    // add referer
                    client.DefaultRequestHeaders.Add("referer", REFERER);
                    Console.WriteLine("update referer {0}", client.DefaultRequestHeaders.Referrer);

                    //add accept
                    client.DefaultRequestHeaders.Add("accept", ACCEPT);
                    Console.WriteLine("update accept {0}", client.DefaultRequestHeaders.Accept);

                    // add accept-encoding
                    client.DefaultRequestHeaders.Add("accept-encoding", ACCEPTENCODING);
                    Console.WriteLine("update encoding {0}", client.DefaultRequestHeaders.AcceptEncoding);

                    // compose the url
                    string requestUrl = string.Format("{0}{1}", BINGDEXURL, queryUrl);
                    // send request
                    var result = client.GetAsync(requestUrl).Result;

                    string res = result.Content.ReadAsStringAsync().Result;
                    Console.WriteLine("res \n" + res);

                    File.WriteAllText(@"D:\temp2.html", res);
                    return res;
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(string.Format("Failed while getting response for {0} with below error message", queryUrl));
                Console.WriteLine(ex.Message);
            }
            return null;

        }

C#: Create a WebRequest with HTTPClient

时间: 2024-10-03 21:54:14

C#: Create a WebRequest with HTTPClient的相关文章

使用HttpClient和WebRequest时POST一个对象的写法

[一]步骤: 1)将对象转化为Json字符串. 2)将Json字符串编码为byte数组. 3)设置传输对象(WebRequest或者HttpClient)的ContentType是"application/json". 4)设置传输对象的ContentLength=Byte数组的长度. 5)开始传输 6)获取JSON结果: [二]示例代码: [对于WebRequest而言] static void SendByWebRequesttoApi() { WebRequest req = W

HttpClient GET POST DELETE方法使用

package com.xiaobudian.childarticle.util; import org.apache.commons.httpclient.*; import org.apache.commons.httpclient.methods.DeleteMethod; import org.apache.commons.httpclient.methods.GetMethod; import org.apache.commons.httpclient.methods.PostMeth

使用HttpClient和Jsoup实现一个简单爬虫

一直很想了解一下爬虫这个东西的,完全是出于兴趣,其实刚开始是准备用python的,但是由于种种原因选择了java,此处省略很多字... 总之,如果你想做一件事情的话就尽快去做吧,千万不要把战线拉得太长了,否则时间一长其实发现自己什么都没做... 拖延症就是这样慢慢形成了. 在写一个爬虫以前需要了解一下HTTP协议的,通常的B/S程序都是客户端请求.服务端响应这种模式,通过一个URL就能从服务器上请求到一些信息.而爬虫就是用程序实现了这个过程,用程序发起一个HTTP请求,然后接收服务端的响应结果,

c#利用WebClient和WebRequest获取网页源代码的比较

前几天举例分析了用asp+xmlhttp获取网页源代码的方法,但c#中一般是可以利用WebClient类和WebRequest类获取网页源代码.下面分别说明这两种方法的实现. WebClient类获取网页源代码 WebClient类 WebClient类位于System.Net命名空间下,WebClient类提供向URI标识的任何本地.Intranet或Internet资源发送数据以及从这些资源接收数据的公共方法. 源代码 ///引用命名空间using System.IO;using Syste

Java4Android之HttpClient入门使用代码集

本文将从代码的角度去引导如何使用httpclient的各个功能和特性. 第一个程序 import org.apache.commons.httpclient.*; import org.apache.commons.httpclient.methods.*; import org.apache.commons.httpclient.params.HttpMethodParams; import java.io.*; public class HttpClientTutorial { privat

C# webrequest 抓取数据时,多个域Cookie的问题

最近研究了下如何抓取为知笔记的内容,在抓取笔记里的图片内容时,老是提示403错误,用Chorme的开发者工具看了下: 这里的Cookie来自两个域,估计为知那边是验证了token(登录后才能获取到token) 下载图片的代码: [csharp] view plain copy var path = "https://note.wiz.cn/" + str.TrimStart('/'); var extension = Path.GetExtension(path); var filep

C#使用WebRequest调用WebApi的方法

1:Get: public static string HttpGetJsonAPI(string uri) { try { HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(uri); webRequest.Method = "GET"; webRequest.ContentType = "application/json"; webRequest.Accept = "applic

[转]C#中POST数据和接收的几种方式

POST方式提交数据,一种众所周知的方式: html页面中使用form表单提交,接收方式,使用Request.Form[""]或Request.QueryString[""]来获取. 这里介绍另外一种POST方式和接收方式,就是将整个数据作为加入到数据流中提交和接收 接收方式: Stream s = System.Web.HttpContext.Current.Request.InputStream; byte[] b = new byte[s.Length]; s

Get 和 Post 使用篇(1)

1.Post 请求发送方式 实例: const string sResponseEncoding = "gb2312"; //测试文本信息 string postText = "{\"touser\":\"OpenId\",\"msgtype\":\"text\",\"text\":{\"content\":\"Hello World\"