TcpClient使用http代理访问外网方法
来源:互联网 发布:淘宝开店 知乎 编辑:程序博客网 时间:2024/06/13 22:22
最近在做一个内网和外网通信的工具,其中内网需要用http代理才能连接外网
所以在TcpClient的使用上,就遇到了麻烦,不能直接连接外网主机。
具体方法如下:
var client=new TcpClient();
client.Connect(proxyip,proxyport);//需要连接到代理服务器,而非远程主机
然后发送 string.Format("CONNECT {0}:{1} HTTP/1.1\r\nHOST {0}:{1}\r\n\r\n”,remoteip,remoteport)
如果需要用户名和密码的,则需要发送 string.Format("CONNECT {0}:{1} HTTP/1.1\r\nHOST {0}:{1}\r\nProxy-Authorization: Basic {2}\r\n\r\n”,remoteip,remoteport,通过base64编码过过的 用户名:密码 字符串)
这时,代理服务器应该会返回,”HTTP/1.0 200 Connection established\r\n“,表示已经可以正常与外网主机通信
这样,以后通过client这个发出去的信息,都会直接转给外网主机
另外,这里面有一个坑,发给代理服务器的连接请求,CONNECT {0}:{1} HTTP/1.1\r\nHOST {0}:{1}\r\n\r\n ,一定要以 \r\n\r\n,即两个换行才可以
否则,代理服务器不会正常响应
0 0
- TcpClient使用http代理访问外网方法
- 使用CInternetSession代理访问HTTP
- Window client application 使用IE的http代理配置访问外网
- 通过node.js连接http代理访问外网
- 使用nginx代理访问外网
- 不使用代理访问若干墙外站点的方法
- java 使用socket5/http代理做http访问
- C# 使用TcpClient模拟HTTP请求的使用
- PHP 初学者 使用cURL并用代理访问http
- java通过代理访问http
- 公司http代理访问https代理
- 如何不使用代理网站,用谷歌浏览器访问外网
- java httpClient使用代理实现外网访问
- java中使用代理访问网络的几种方法
- java使用代理访问网络的几种方法
- Java中使用代理访问网络的几种方法
- 使用代理实现对私有方法的访问
- PHP使用代理访问外部网站的方法
- 继承LinearLayout实现大众点评标题和图表的效果
- Struts2的类型转换及输入校验(数组类型的使用)
- 九章算法4:动态规划I
- Activity的启动模式
- android 上传文件到服务器代码实例
- TcpClient使用http代理访问外网方法
- ApacheCXF-webservice
- 谢谢CSDN让我的BLOG可以重新使用了
- 413 Request Entity Too Large错误解决办法
- poj2531
- spyder使用教程
- JS中的!=、== 、!==、===的用法和区别。
- Error:(1, 0) Plugin is too old, please update to a more recent version, or set ANDROID_DAILY_OVERRID
- PAT_Basic 1014