c# - WebRequest 类的 .Create(url) 方法不起作用
问题描述
问题
当我使用类的.Create(url)
方法时WebRequest
,它不起作用。
该.Create(url)
方法未被 IDE 识别并标记为红色,因为该方法不存在。我现在需要做什么来解决这个问题。
源代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Net;
using System.IO;
namespace WebRequest
{
class HttpMethods
{
public static string Get(string url, string referer, ref CookieContainer cookies)
{
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
req.Method = "GET";
req.CookieContainer = cookies;
req.UserAgent = "";
req.Referer = referer;
HttpWebResponse resp = (HttpWebResponse)req.GetResponse();
cookies.Add(resp.Cookies);
string pageSrc;
using (StreamReader sr = new StreamReader(resp.GetResponseStream()))
{
pageSrc = sr.ReadToEnd();
}
return pageSrc;
}
public static bool Post(string url, string postData, string referer, CookieContainer cookies)
{
string key = "Invalid credentials or user not activated!";
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
req.Method = "POST";
req.CookieContainer = cookies;
req.UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36";
req.Referer = referer;
req.ContentType = "application/x-www-form-urlencoded";
req.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8";
Stream postStream = req.GetRequestStream();
byte[] postBytes = Encoding.ASCII.GetBytes(postData);
postStream.Write(postBytes, 0, postBytes.Length);
postStream.Dispose();
HttpWebResponse resp = (HttpWebResponse)req.GetResponse();
cookies.Add(resp.Cookies);
StreamReader sr = new StreamReader(resp.GetResponseStream());
string pageSrc = sr.ReadToEnd();
sr.Dispose();
Console.WriteLine(pageSrc);
return (!pageSrc.Contains(key));
}
}
}
解决方案
推荐阅读
- gmail - 防病毒软件正在阻止 nodemailer - 错误:证书链中的自签名证书
- arduino - 我真的搞砸了!我需要撤消一些笨拙的脚本
- apache-spark - Spark,如何打印查询?
- python - 无法弄清楚如何让 BS4 检索 /videos 页面上的 youtube 观看次数
- python - groupby pandas python的自定义排序功能
- javascript - 为什么我输入大写方法后空格键不起作用?
- sql-server - 如何创建索引以加快数据检索
- apache-spark - spark sql 无法识别 hive 分区列
- c++ - 虚拟继承中相同的最派生类=父类之间的相同偏移量?
- ms-access - 在另一个窗体中使用窗体上的文本框显示数据