C语言怎样写代理服务器,能实现GET请求和CONNECT请求

C语言怎样写代理服务器,能实现GET请求和CONNECT请求,第1张

你先研究一下HTTP协议和socket编程吧,不是一两个函数就能说清楚的,尤其HTTP协议,还是很复杂的,协议说明就几百页。。。。。相连接第一步是用socket 连接对方的某端口,需要先通过域名找到地址,然后用socket连接对方 80端口,成功后你就可以发送符合HTTP协议的请求了。。。http协议头第一行就应该写你在浏览器地址栏里写的东西,包括get参数,后面是其他字段,比如你希望接受什么内容,使用的字符集等等。。。。get和FORM最大区别就是,get是连同地址域名一起发送的,所以你会在地址栏看到他,form则是有专门的字段来描述,你是看不到的,但get简单,在浏览器地址栏上你就可以手动输入参数,不需要使用form控件提交。。。

分类: 电脑/网络 >>互联网

解析:

代理服务器的设置方法

xdl8.home.sunbo/

--------------------------------------------------------------------------------

ADSL代理服务器的设置方法

1、在桌面上用鼠标右键单击‘Inter Explorer’图标,并选择‘属性’。

2、单击‘连接’标签。

3、选中使用的连接,如:‘我的连接’,单击‘设置’按钮。

4、单击‘鼠标左键’,选择‘使用代理服务器’的选项,单击‘确定’按钮。

5、单击‘确定’按钮。

LAN局域网用户代理服务器设置方法

1、在桌面上用鼠标右键单击‘Inter Explorer图标’,并选择‘属性’。

2、单击‘连接’标签。

3、单击‘局域网设置’按钮。

4、单击‘鼠标左键’,去掉‘使用代理服务器’的选项,单击‘确定’按钮。

5、单击‘确定’按钮。

Modem拨号代理服务器设置方法

Inter Exploer 4.01

IE4.01:菜单栏“查看”->下拉菜单“Inter选项”->选项卡“连接”->在“代理服务器”一栏选中“通过代理服务器访问Inter”,输入代理服务器地址和端口号。->确定

Inter Exploer 5.0以上版本

IE 5.0:菜单栏“工具”->下拉菜单“Inter选项”->选项卡“连接”->在“拨号设置”中选中您目前使用的连接,然后点击右侧的“设置”->在中间的“代理服务器”栏选中“使用代理服务器”->在“地址”和“端口”栏输入代理服务器->确定->确定。

微软IE设置代理

(一)菜单选择“工具”,选“Inter选项(O)”。

(二)选“连接”,单击“设置(S)...”

(三)在“代理服务器”组,把“对此连接使用代理服务器”打钩,然后填上HTTP的地址和端口。

(四)如果有更齐全的代理数据,如SOCK及FTP等,可单击“高级(C)...”,分别填入对应的代理数据。(这项一般不填)

(五)单击“确定”就可以了。

腾讯TT设置代理

(一)主菜单选择“工具”,选“WWW代理”,选“代理设置...”

(二)点击“新增”,然后在“地址”那填上代理的IP以及端口,单击“确定”,代理就可以生效。

(三)当使用代理的时候,菜单上代理名称前面有“钩”,当向要取消代理或者再次使用代理,点击菜单就行,很方便。

QQ设置代理

● QQ设置SOCK5代理

(一)打开参数设置。

点击QQ的“QQ2000”,选择“系统菜单”。

(二)输入代理参数。

选择“网络参数”,在腾讯的服务器地址填上绝对IP(“***.***.***.***形式的”),下面有腾讯服务器域名转换绝对IP的表,随便选择一个就行。“使用SOCK5代理服务器”打钩,填上代理服务器的地址和端口参数。把用户名和密码输入框清空(假如是使用有密码的代理,则填上代理的用户名和密码)。

sz.tencent =>61.144.238.145

sz2.tencent =>61.144.238.146

sz3.tencent =>202.104.129.251

sz4.tencent =>202.104.129.254

sz5.tencent =>61.141.194.203

sz6.tencent =>202.104.129.252

sz7.tencent =>202.104.129.253

(三)测试代理参数。

点击测试。假如出现“代理服务器正常”,则这个代理是可用的。假如出现“无法连接代理服务器”,则说明这个代理不能使用,重新输入另外的代理参数,重新测试。

(四)使代理生效。

要使刚刚输入的参数生效,必须下线一次,再上线,这样才能改变QQ的传输状态,使代理生效。如果不能上线,请多换几个代理试试。

● QQ设置HTTP代理

(一)打开参数设置。

点击QQ的“QQ2000”,选择“系统菜单”。

(二)设置代理参数

选择“会员功能”,把“使用HTTP协议登陆”打钩,选择“通过HTTP代理”,填入HTTP代理的IP以及端口参数,清空用户名称和密码。

(三)测试代理参数。

按“测试”,测试该HTTP代理能不能用,出现“测试成功,请返回”,则该代理能用。否则表示该代理不能用,换别的代理。

(四)使代理生效。

要使刚刚输入的参数生效,必须下线一次,再上线,这样才能改变QQ的传输状态,使代理生效。如果不能上线,请多换几个代理试试。

ICQ设置代理

使用的是ICQ2000中文版。ICQ能使用的代理比较多,可以用HTTP、SOCK4、SOCK5等。在ICQ中,代理也称作防火墙。

(一)打开参数设置。

点击“主菜单”,选择“参数选择”。

(二)输入代理参数。

选“连接”,在“代理设置”,选择“使用防火墙”和“使用代理服务器”,在“代理服务器”选择代理的类型,可以是SOCK4、SOCK5、HTTP等,但一定要和你准备的代理的类型是一 致的。

在“防火墙”组,选择代理的类型,和输入代理的IP及端口的参数

(四)使代理生效。

跟QQ一样,要使得代理生效,必须先下线再上线,假如不能上线就是代理不行,换一个代理重新设置。

UC设置代理

(一)打开参数设置。

点击“UC”,选择“系统参数”。

(二)输入代理参数。

选择“网络”,选“局域网”,“使用SOCK5代理”打钩,填上代理IP和端口的参数,清空用户名和密码。(假如是使用有密码的代理,则填上代理的用户名和密码)。

(三)测试代理参数。

点击测试。假如出现“代理服务器正常”,则这个代理是可用的。假如出现“无法连接代理服务器”,则说明这个代理不能使用,重新输入另外的代理参数,重新测试 。

(四)使代理生效。

要使刚刚输入的参数生效,必须下线一次,再上线,这样才能改变UC的传输状态,使代理生效。如果不能上线,请多换几个代理试试。

MSN设置代理

(一)打开参数设置。

点击“MSN”,选择“选项(O)...”。

(二)输入代理参数。

“我使用的代理服务器”打钩,选“SOCK5”,填上代理IP和端口的参数,清空用户名和密码。(假如是使用有密码的代理,则填上代理的用户名和密码)。 当然还可以选择HTTP或SOCK4代理,填上相应的参数就行。

(四)使代理生效。

按“确定”就行了。

2003版QQ设置代理

2003版QQ,普通用户除了可以使用SOCK5代理之外,还可以使用HTTP代理,会员用户可以使用VIP的HTTP代理。

(一)打开参数设置

点击QQ的“QQ2003”,选择“系统菜单”。

(二)设置代理参数

选择“网络设置”。上网类型要设置为“局域网”。如果使用SOCK5代理的就把“SOCK5代理设置”打钩,填入代理服务器的IP和端口的参数。假如使用HTTP代理的就选“HTTP代理设置”,填入参数 。用户名称和密码一般留空,不用填。

(三)测试代理参数。

按“测试”,试试该代理能否成功连接。假如出现“不能连接代理服务器”的就换别的代理试试。

(四)使代理生效。

要使刚刚输入的参数生效,必须下线一次,再上线,这样才能改变QQ的传输状态,使代理生效。如果不能上线,请多换几个代理试试。

FTP软件中如何使用代理上传

在FTP软件中我们可以使用SOCKS4/SOCKS5代理服务器,常见的FTP工具中的代理设置方法如下:

1.FlashFXP3.0以前版本中设置代理:菜单栏“选项”——》参数设置——》代理和防火墙,然后在“代理服务器”项中选择代理类型,填写代理

2.FlashFXP3.0以后版本中设置代理:菜单栏“选项”——》参数设置——》连接,然后在“代理服务器”项中选择代理类型,填写代理

3.CuteFTP XP 5.0.2 中文版中设置代理:菜单栏“编辑”——》设置——》连接——》SOCKS--》选择代理类型,如SOCKS4或者SOCKS5,并填写代理

4.LeapFtp中设置代理:菜单栏“选项”——》参数设置——》常规——》代理,将“使用代理”前面的方框钩上,然后填写代理,并将SOCKS防火墙钩上。

MyIE2中设置代理服务器

MyIE2中设置代理服务器:菜单栏“选项”——》“代理服务器”——》“代理设置”——》在输入框中输入标准格式的代理服务器,如XXX.XXX.XXX.XXX:端口,然后“确定”并退出,继续,菜单栏“选项”——》“代理服务器”——》然后选择刚才输入的代理服务器,最后“确定”即可。

NETSCAPE 4.x的代理设置方法

选择主菜单上的“Edit”→“Preferences”→“advanced”→“proxies”→“Manual proxy configuration”→“View”,将你找到的代理服务器地址和端口填入,按“OK”完成。

.

Opera的代理设置方法

选择主菜单上的“设置”→“Proxy选项”,将你找到的代理服务器地址和端口填入即可。

网络蚂蚁的代理设置方法

在主菜单上选择“选项设置”→“参数设置”→“代理”→“添加”,然后将可用的代理服务器地址根据类型填入,如该服务器需要输入用户名和密码,选中代理服务器选项下的“认证”,填入即可。大多数下载软件的代理设置与网络蚂蚁相似,如FlashGet。

如果你有C++的编程背景,那这个问题就很简单了:C#中的delegate和C++中的函数指针基本是一回事,C#正是以delegate的形式实现了函数指针。不同的地方在于C#中delegate是类型安全的。

如果没有C或者C++的背景知识也没有一点关系。

要理解Delegate,首先,你要明白,它是一个类,他和Class是一个级别的概念,不同在于Class的定义包含字段和方法,而delegate只包含方法的细节。

定义Delegate:

public delegate bool CompareDelegate(int a, int b)

上面语句的含义是:定义了一个委托的实例时,这些实例都要包含一个方法名,并且这个方法必须有两个int型的参数,并且必须返回一个bool型的值。

好,现在就创建一个上面定义的委托的实例

public CompareDelegate myCompare = new CompareDelegate(CompareMethod)

里面的这个CompareMethod是一个方法:

定义如下:

public static bool CompareMethod(int x , int y)

{

bool result = x >y ? true : false

return result

}

怎么使用呢

int a = 10

int b = 15

bool isBigger = myDelegate(a, b)

下面是完整的代码:

using System

using System.Collections.Generic

using System.Text

using Common

namespace ConsoleApplication8

{

//定义委托

public delegate bool CompareDelegate(int a, int b)

public class MyCompare

{

/// <summary>

/// 定义一个方法,符合上面定义的委托所要求的方法细节,返回值为bool型,两个参数分别为int型

/// </summary>

/// <param name="x"></param>

/// <param name="y"></param>

/// <returns></returns>

public static bool CompareMethod(int x , int y)

{

bool result = x >y ? true : false

return result

}

}

class Program

{

static void Main(string[] args)

{

//实例化委托并初始化。注意初始化时候,必须包含一个方法的名称,而且这个方法必须符合最初定义委托时候的签名(参数类型和返回值)

CompareDelegate myDelegate = new CompareDelegate(MyCompare.CompareMethod)

//现在我们使用委托实例来比较两个数a和b的的大小

int a = 10

int b = 15

bool isBigger = myDelegate(a, b)

Console.WriteLine(" a >b ?: " + isBigger)

Console.Read()

}

}

}

是不是太简单了。

C#中委托用来干什么呢,当然不是用来实现象上面那样的弱智程序。在C#中一提委托,一般就会引出另外一个术语:事件。C#中事件的实现,正是依赖于delegate。而事件又是一个很重要的概念,只有真正理解了委托,才能打好基础,真正的弄明白事件。

希望有帮助


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/180608.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-03-28
下一篇2023-03-28

发表评论

登录后才能评论

评论列表(0条)

    保存