62,046
社区成员
发帖
与我相关
我的任务
分享
public static HttpWebResponse CreateGetHttpResponseByStream(string url)
{
HttpWebRequest request = null;
if (url.StartsWith("https", StringComparison.OrdinalIgnoreCase))
{
request = WebRequest.Create(url) as HttpWebRequest;
request.ProtocolVersion = HttpVersion.Version10; //http版本,默认是1.1,这里设置为1.0
}
else
{
request = WebRequest.Create(url) as HttpWebRequest;
}
request.Method = "GET";
return request.GetResponse() as HttpWebResponse;
}
/// <summary>
/// 通过media_ID获取临时资源
/// </summary>
/// <param name="Media_ID"></param>
/// <returns></returns>
public static byte[] Get_Material_Tmp(string Media_ID,ref string res)
{
HttpWebResponse s= HttpHelper.CreateGetHttpResponseByStream("https://api.weixin.qq.com/cgi-bin/media/get?access_token=" + Get_Access_Token() + "&media_id=" + Media_ID);
if (s.ContentType.IndexOf("image") == -1)//请求到图片
{
//获取HTTP返回数据
StreamReader sr = new StreamReader(s.GetResponseStream(), Encoding.UTF8);
JObject tmp = Get_Json(sr.ReadToEnd().Trim());
res = tmp["errmsg"].ToString();
return null ;
}
//Image image = Image.FromStream(s.GetResponseStream());
byte[] img = new byte[s.ContentLength];
Stream i = s.GetResponseStream();
i.Read(img, 0, s.ContentLength.ToInt());//这里获取之后
i.Close();
i.Dispose();
res = "";
return img;
}
public static byte[] PostUrl(string url, string postData)
{
HttpContent httpContent = new StringContent(postData);
httpContent.Headers.ContentType = new MediaTypeHeaderValue("application/json");
HttpClient httpClient = new HttpClient();
HttpResponseMessage response = httpClient.PostAsync(url, httpContent).Result;
if (response.IsSuccessStatusCode)
{
Task<byte[]> t = response.Content.ReadAsByteArrayAsync();
return t.Result;
}
else
return null;
}
可用