Http 请求 无法链接远程服务器

BXS_null 2020-10-29 10:27:55
        public void PrintLabel(string jsonParas ,string url)
{
//创建一个HTTP请求
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
//Post请求方式
request.Method = "POST";
//内容类型
request.ContentType = "application/json";

//设置参数,并进行URL编码

string paraUrlCoded = jsonParas;//System.Web.HttpUtility.UrlEncode(jsonParas);

byte[] payload;
//将Json字符串转化为字节
payload = System.Text.Encoding.UTF8.GetBytes(paraUrlCoded);
//设置请求的ContentLength
request.ContentLength = payload.Length;
//发送请求,获得请求流

Stream writer;
try
{
writer = request.GetRequestStream();//获取用于写入请求数据的Stream对象
}
catch (Exception ex)
{
writer = null;
Console.Write("连接服务器失败!");
MessageBox.Show(ex.Message, "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
//将请求参数写入流
writer.Write(payload, 0, payload.Length);
writer.Close();//关闭请求流
// String strValue = "";//strValue为http响应所返回的字符流
HttpWebResponse response;
try
{
//获得响应流
response = (HttpWebResponse)request.GetResponse();
}
catch (WebException ex)
{
response = ex.Response as HttpWebResponse;
}
Stream s = response.GetResponseStream();
// Stream postData = Request.InputStream;
StreamReader sRead = new StreamReader(s);
string postContent = sRead.ReadToEnd();
sRead.Close();
}

这个放在在 web项目里面能正常运行,访问的是同一个URL,postman也能正常运行,但是我把这个代码放到winform项目里面,就提示无法链接到远程服务器,具体提示是:由于目标计算机积极拒绝,无法链接。
后来我用Fidder 准备看看链接发出去没有,结果我打开Fidder他又可以连接了,我看了下代理,Fidder打开的时候开启了一个代理:127.0.0.1:8888 这样就能连接,关闭代理又不能连接。同一台电脑 web项目和postman都能正常访问,就web项目不行,这是什么问题?怎么解决
...全文
1459 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
BXS_null 2020-10-29
  • 打赏
  • 举报
回复
上面是我描述有问题,和设置代理没有太大关系,我设置代理关闭Fidder也是无法访问的,必须开启Fidder才行
BXS_null 2020-10-29
  • 打赏
  • 举报
回复
引用 1 楼 ziqi0716 的回复:
我猜,服务端反爬措施设置了UA验证,Fidder转发时候可能对请求进行了修改,增加了UA.
你试试吧postman导出来的代码运行试试.(或者自己对请求头进行修改,增加UA)

你说的UA 是UserAgent 吗,我把他按照postman的设置了 还是不行
ziqi0716 2020-10-29
  • 打赏
  • 举报
回复
我猜,服务端反爬措施设置了UA验证,Fidder转发时候可能对请求进行了修改,增加了UA. 你试试吧postman导出来的代码运行试试.(或者自己对请求头进行修改,增加UA)
BXS_null 2020-10-29
  • 打赏
  • 举报
回复
引用 5 楼 ziqi0716 的回复:
额,要不你发下url我们试试.....

不行
ziqi0716 2020-10-29
  • 打赏
  • 举报
回复
引用 2 楼 BXS_null 的回复:
[quote=引用 1 楼 ziqi0716 的回复:]我猜,服务端反爬措施设置了UA验证,Fidder转发时候可能对请求进行了修改,增加了UA. 你试试吧postman导出来的代码运行试试.(或者自己对请求头进行修改,增加UA)
你说的UA 是UserAgent 吗,我把他按照postman的设置了 还是不行[/quote] 额,要不你发下url我们试试.....
lorimoon 2020-10-29
  • 打赏
  • 举报
回复
netstat 看一下端口占用,防火墙开放程序访问或者关了。

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧