代理客户端
『壹』 我用ccproxy和客户端Proxifier代理上网为什么不行,出现下面错误信息
要分两步查:
查服务端CCPROXY是否正常,主要是代理权限,对方的IP要放到帐户中。
在IE中直接设它的HTTPS代理,端口一般808,看行不行;
如果正常,再查代理客户端;
估计是服务端的权限。
『贰』 动态代理类的客户端
import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Proxy;
import java.lang.reflect.Constructor;
import java.lang.reflect.Method;
public class Client
{
static public void main(String[] args) throws Throwable
{
RealSubject rs = new RealSubject(); //在这里指定被代理类
InvocationHandler ds = new DynamicSubject(rs); //初始化代理类
Class cls = rs.getClass();
//以下是分解步骤
/*
Class c = Proxy.getProxyClass(cls.getClassLoader(),cls.getInterfaces()) ;
Constructor ct=c.getConstructor(new Class[]{InvocationHandler.class});
Subject subject =(Subject) ct.newInstance(new Object[]{ds});
*/
//以下是一次性生成
Subject subject = (Subject) Proxy.newProxyInstance(cls.getClassLoader(),
cls.getInterfaces(),ds);
subject.request();
}
通过这种方式,被代理的对象(RealSubject)可以在运行时动态改变,需要控制的接口(Subject接口)可以在运行时改变,控制的方式(DynamicSubject类)也可以动态改变,从而实现了非常灵活的动态代理关系(参见文献2)。
『叁』 ccproxy 如何设置屏蔽代理客户端上QQ,msn
要禁止某个用户使用QQ,首先要知道这个用户的IP,假设他的IP是192.168.0.8,可以在这个用户的帐号属性里对应的站点过滤里加上:192.168.0.8;219.133.*;*.tencent.com;202.104.*;202.96.*;218.17.*;218.18.*;61.141.*;61.144.*;58.60.*
如果想屏蔽其他用户,只需要更改上面的192.168.0.8为对应用户的IP地址即可。
怎样屏蔽MSN?
在站点过滤里添加:
*.msn.*;*.hotmail.*;*.live.*;*.allyes.*;*.passport.*
『肆』 怎样查看自己在哪使用了代理,我的客户端不让使用代理服务,可电脑不知道怎么回事自己连接代理...
3个地方检查
图片上的两个设置就是1、2、回答照着点开看看
1、IE浏览器点右键属性点连接在这个选框里有宽带连接点击一下再点旁边的设置就跳出一个对话框这个页面看看有没有设置
2、IE浏览器点右键属性---连接---局域网设置里设置代理.
3、如果是QQ的话在登陆页面有个设置点开这里如果在对话框中网络设置项有选项在不使用代理就对了如使用的代理这个对话框上有地址端口都有数字就代表使用了代理
『伍』 不能访问防火墙客户端代理服务。此服务可能没有在运行。
操作顺序:打开我的电脑————打开控制面板——打开管理工具——打开服务——找到“防火墙客户端代理”,右键点击启动。通过以上操作,就可解决你的问题,希望能帮助你!
『陆』 客户端提示“使用代理软件”并断网怎么解决
Win7 用户——打开“控制面板——系统和安全——管理工具——服务”,双击“Internet Connection Sharing (ICS)”,启动类型改为“手动”,服务状态选择“停止”
WinXP用户——打开“控制面板——管理工具——服务”,双击“Windows Firewall/Internet Connection Sharing (ICS)”,启动类型改为“手动”,服务状态选择“停止”
『柒』 C#客户端实现设置代理上网
代理服务器上网分HTTP连接,Socket4 和 Socket5。
从几个语句看不出问题,我给个样板吧。是Socket5连接的,
using System;
using System.Net;
using System.Net.Sockets;
using System.Text;
/*
* zahmed
* Date 23 Jan 2004
* Socks 5 RFC is available at http://www.faqs.org/rfcs/rfc1928.html.
*/
namespace ConProxy
{
public class ConnectionException:ApplicationException
{
public ConnectionException(string message)
:base(message)
{
}
}
/// <summary>
/// Provides sock5 functionality to clients (Connect only).
/// </summary>
public class SocksProxy
{
private SocksProxy(){}
#region ErrorMessages
private static string[] errorMsgs= {
"Operation completed successfully.",
"General SOCKS server failure.",
"Connection not allowed by ruleset.",
"Network unreachable.",
"Host unreachable.",
"Connection refused.",
"TTL expired.",
"Command not supported.",
"Address type not supported.",
"Unknown error."
};
#endregion
public static Socket ConnectToSocks5Proxy(string proxyAdress, ushort proxyPort, string destAddress, ushort destPort,
string userName, string password)
{
IPAddress destIP = null;
IPAddress proxyIP = null;
byte[] request = new byte[257];
byte[] response = new byte[257];
ushort nIndex;
try
{
proxyIP = IPAddress.Parse(proxyAdress);
}
catch(FormatException)
{ // get the IP address
proxyIP = Dns.GetHostByAddress(proxyAdress).AddressList[0];
}
// Parse destAddress (assume it in string dotted format "212.116.65.112" )
try
{
destIP = IPAddress.Parse(destAddress);
}
catch(FormatException)
{
// wrong assumption its in domain name format "www.microsoft.com"
}
IPEndPoint proxyEndPoint = new IPEndPoint(proxyIP,proxyPort);
// open a TCP connection to SOCKS server...
Socket s = new Socket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp);
s.Connect(proxyEndPoint);
nIndex = 0;
request[nIndex++]=0x05; // Version 5.
request[nIndex++]=0x02; // 2 Authentication methods are in packet...
request[nIndex++]=0x00; // NO AUTHENTICATION REQUIRED
request[nIndex++]=0x02; // USERNAME/PASSWORD
// Send the authentication negotiation request...
s.Send(request,nIndex,SocketFlags.None);
// Receive 2 byte response...
int nGot = s.Receive(response,2,SocketFlags.None);
if (nGot!=2)
throw new ConnectionException("Bad response received from proxy server.");
if (response[1]==0xFF)
{ // No authentication method was accepted close the socket.
s.Close();
throw new ConnectionException("None of the authentication method was accepted by proxy server.");
}
byte[] rawBytes;
if (/*response[1]==0x02*/true)
{//Username/Password Authentication protocol
nIndex = 0;
request[nIndex++]=0x05; // Version 5.
// add user name
request[nIndex++]=(byte)userName.Length;
rawBytes = Encoding.Default.GetBytes(userName);
rawBytes.CopyTo(request,nIndex);
nIndex+=(ushort)rawBytes.Length;
// add password
request[nIndex++]=(byte)password.Length;
rawBytes = Encoding.Default.GetBytes(password);
rawBytes.CopyTo(request,nIndex);
nIndex+=(ushort)rawBytes.Length;
// Send the Username/Password request
s.Send(request,nIndex,SocketFlags.None);
// Receive 2 byte response...
nGot = s.Receive(response,2,SocketFlags.None);
if (nGot!=2)
throw new ConnectionException("Bad response received from proxy server.");
if (response[1] != 0x00)
throw new ConnectionException("Bad Usernaem/Password.");
}
// This version only supports connect command.
// UDP and Bind are not supported.
// Send connect request now...
nIndex = 0;
request[nIndex++]=0x05; // version 5.
request[nIndex++]=0x01; // command = connect.
request[nIndex++]=0x00; // Reserve = must be 0x00
if (destIP != null)
{// Destination adress in an IP.
switch(destIP.AddressFamily)
{
case AddressFamily.InterNetwork:
// Address is IPV4 format
request[nIndex++]=0x01;
rawBytes = destIP.GetAddressBytes();
rawBytes.CopyTo(request,nIndex);
nIndex+=(ushort)rawBytes.Length;
break;
case AddressFamily.InterNetworkV6:
// Address is IPV6 format
request[nIndex++]=0x04;
rawBytes = destIP.GetAddressBytes();
rawBytes.CopyTo(request,nIndex);
nIndex+=(ushort)rawBytes.Length;
break;
}
}
else
{// Dest. address is domain name.
request[nIndex++]=0x03; // Address is full-qualified domain name.
request[nIndex++]=Convert.ToByte(destAddress.Length); // length of address.
rawBytes = Encoding.Default.GetBytes(destAddress);
rawBytes.CopyTo(request,nIndex);
nIndex+=(ushort)rawBytes.Length;
}
// using big-edian byte order
byte[] portBytes = BitConverter.GetBytes(destPort);
for (int i=portBytes.Length-1;i>=0;i--)
request[nIndex++]=portBytes[i];
// send connect request.
s.Send(request,nIndex,SocketFlags.None);
s.Receive(response); // Get variable length response...
if (response[1]!=0x00)
throw new ConnectionException(errorMsgs[response[1]]);
// Success Connected...
return s;
}
}
}
『捌』 代理端和客户端靠什么连接(网线 还是路由器 还是啥)
CCPROXY 软代理呀,不需要什么另外的硬连接。
局域网内如果某台机能上外网,可以在此机上装个代理软件ccproxy,
你就可以通过这台机上外网,这台机就是你的代理机,你只要
在浏览器里设一下:代理地址,代理端口就可以。
很简单。
如果你的网络水平高了,你可以在你的机上再装个代理客户端proxifierPE2.91,
上外网就更方便了。
『玖』 如何解决代理服务器客户端代理上网速度慢
使用代理服务器,速度取决于服务器的网速和你与服务器之间连接的速度,二者只要有一个慢网速就很慢,如果你网速够快,找一个快的代理就可以了
『拾』 我用java的socket机制编了一个代理服务器,客户端已经与代理建立了连接,如何让代理与web服务器连接
代理服务器解析客户端传入的数据,得到服务器ip和端口,然后创建与服务器的连接。解析代码如下:(这里只处理了socket v5的情况,Config的常量对应java.net.SocksConsts)
try{
//socketv5
//4byte(5202)@seejava.net.SocksSocketImpl
intlen=dis.read(buffer);
//replyclient
dos.write(newbyte[]{Config.PROTO_VERS,Config.NO_AUTH});
dos.flush();
//read
//PROTO_VERS(1byte)
//CONNECT(1byte)
//0(1byte)
//DOMAIN_NAME/IPV4/IPV6(1byte)DOMAIN_NAME(notconsidernow)
//addr(IPV4:4byte/IPV6:16byte)
//port>>8&0xff(1byte)
//port&0xff(1byte)
len=dis.read(buffer);
byteaddrType=buffer[3];
byte[]applyData=null;
StringserverIp=null;
intserverPort=0;
if(addrType==Config.IPV4){
serverIp=Util.bytes2ipv4(buffer,4,4);
serverPort=buffer[8]<<8|buffer[9];
//setreplydata
applyData=newbyte[10];
applyData[1]=Config.REQUEST_OK;
applyData[3]=Config.IPV4;
for(inti=4;i<10;i++){
//fillip,port
applyData[i]=buffer[i];
}
}elseif(addrType==Config.IPV6){
serverIp=Util.bytes2ipv6(buffer,4,16);
serverPort=buffer[20]<<8|buffer[21];
//setreplydata
applyData=newbyte[6];
applyData[1]=Config.REQUEST_OK;
applyData[3]=Config.IPV6;
applyData[4]=buffer[20];
applyData[5]=buffer[21];
}
//reply
dos.write(applyData);
dos.flush();
//connecttheserver
//serverIp是服务器ip,serverPort是服务器端口,用这两个
//创建与服务器的socket连接
Socketsocket=newSocket(serverIp,serverPort);
//之后处理客户端与服务器的数据交互就用这个socket转发就行了
//finallysuccess!!!
}catch(Exceptione){
e.printStackTrace();
}