当我们在日常应用HTTP代理的时候,终端IP不固定的情况下,或者需要多机器同时使用HTTP代理时,就会遇到一个问题:如何使用带有用户名密码认证的HTTP(S)代理?

按照下列步骤,能轻松解决这一问题!

1.用户帐密

用户名是AuthKey,密码AuthPwd,用户名和密码都可以在用户中心的业务列表中查看;

2.授权错误提示

代理的用户名密码认证协议一般采用标准的“HTTP Basic Authentication”。如果用户认证错误,系统会返回“407 Proxy Authentication Required”;

3.请求协议头

如果代码的HTTP请求方法不支持以用户名密码的形式设置身份认证信息,则需要手动为每个HTTP请求增加Proxy-Authorization协议头,其值为“Basic”;

其中【用户名】和【密】通过 : 拼接后,再经由“BASE64”编码得到的字符串。

4.参考案例

(1)在浏览器中使用代理(以IE浏览器为例)

打开IE浏览器,依次点击打开【菜单】->【工具】->【Internet 选项】->【连接】->【局域网设置】,勾选【为 LAN 使用代理服务器】。如下图所示:

输入HTTP代理和端口,然后打开任意网站,会出现【Windows 安】窗口(如下图示),输入代 理的用户名和密码,勾选【记住我的凭据】确定即可;

(2)在 Python中使用代理

​
import urllib2
#设置你的HTTP代理包含用户名密码
proxy='账号:密码@ip:port'
#你要访问的网址
url = 'ip查询 查ip 网站ip查询 同ip网站查询 iP反查域名 iP查域名 同ip域名'
opener = urllib2.build_opener()if url.lower().startswith('https://'):opener.add_handler(urllib2.ProxyHandler({'https' : proxy}))
else:opener.add_handler(urllib2.ProxyHandler({'http' : proxy}))request = urllib2.Request(url)
response = opener.open(request)
content = response.read()

(3)在PHP中使用代理

​function curlFile($url, $proxy_ip, $proxy_port, $loginpassw)
{//$loginpassw = '账号:密码';//$proxy_ip = 'ip';//$proxy_port = 'port';//$url = 'ip查询 查ip 网站ip查询 同ip网站查询 iP反查域名 iP查域名 同ip域名';$ch = curl_init();curl_setopt($ch, CURLOPT_URL, $url);curl_setopt($ch, CURLOPT_HEADER, 0);curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);curl_setopt($ch, CURLOPT_PROXYPORT, $proxy_port);curl_setopt($ch, CURLOPT_PROXYTYPE, 'http');curl_setopt($ch, CURLOPT_PROXY, $proxy_ip);curl_setopt($ch, CURLOPT_PROXYUSERPWD, $loginpassw);$data = curl_exec($ch);curl_close($ch);return $data;
}

(4)在C#中使用代理

using System.Net;
namespace ProxyTest
{class Program{static void Main(string[] args){WebClient wc = new WebClient();wc.Proxy = new WebProxy("ip", port);wc.Proxy.Credentials = new NetworkCredential("帐号", "密码");string text = wc.DownloadString("ip查询 查ip 网站ip查询 同ip网站查询 iP反查域名 iP查域名 同ip域名");Console.WriteLine(text);}}
}​

(5)在 VC Win32 Wininet 库中使用代理

#include
#include
#include
#pragma comment(lib, "wininet.lib")
int main(int argc, char *argv[], char *env[])
{char url[] = "ip查询 查ip 网站ip查询 同ip网站查询 iP反查域名 iP查域名 同ip域名";char proxyinfo[] = "ip:port";char usernm[] = "帐号";char passwd[] = "密码";char text[8192] = {};DWORD dwReadSize = 0;BOOL bOK = FALSE;HINTERNET hInternet = InternetOpen(NULL, INTERNET_OPEN_TYPE_PROXY, proxyinfo, NULL, 0);HINTERNET hUrl = InternetOpenUrl(hInternet, url, NULL, 0, 0, NULL);bOK = InternetSetOption(hUrl, INTERNET_OPTION_PROXY_USERNAME, usernm,strlen(usernm));bOK = InternetSetOption(hUrl, INTERNET_OPTION_PROXY_PASSWORD, passwd,strlen(passwd));bOK = (BOOL)InternetReadFile(hUrl, text, sizeof(text), &dwReadSize);printf(text);return 0;
}

如何使用带有用户名密码认证的HTTP(S)代理?保姆级教程来了!相关推荐

  1. java wcf 未提供用户名_WCF的用户名密码认证

    以前我们用WebService做分布式系统的时候,认证是个麻烦的问题,通常的做法是继承一个SoapHeader,把用户名和密码放到里面,每调用一个方法都要把用户名和密码传递给服务器端来验证 ,效率相当 ...

  2. mogodb 设置用户名密码认证

    mogodb 设置用户名密码认证: #step 1: create account 1. mongo; 2. use admin; 3. db.createUser({ user: "roo ...

  3. [WCF安全系列]认证与凭证:用户名/密码认证与Windows认证

    如果要给认证下一个定义,我个人的倾向这样的定义:认证是确定被认证方的真实身份和他或她申明(Claim)的身份是否相符的行为.认证方需要被认证方提供相应的身份证明材料,以鉴定本身的身份是否与声称的身份相 ...

  4. WCF的用户名+密码认证方式

    概述 今天在做Master Data Service(后面简称MDS)项目时需要通过WCF来使用MDS的API,从而对MDS的数据进行操作.在这个过程中,遇到了一个棘手的问题,就是在客户端调用Web ...

  5. "Selenium + Firefox"如何使用带用户名密码认证的HTTP代理

    本文原创作者:鲲之鹏(http://www.site-digger.com) 本文原始链接:http://www.site-digger.com/html/articles/20180822/662. ...

  6. Nginx之让用户通过用户名密码认证访问web站点

    有时我们会有这么一种需求,就是你的网站并不想提供一个公共的访问或者某些页面不希望公开,我们希望的是某些特定的客户端可以访问. 那么我们可以在访问时要求进行身份认证,就如给你自己的家门加一把锁,以拒绝那 ...

  7. 通过用户名密码认证保障 MQTT 接入安全

    认证是一种安全措施,用于识别用户并验证他们是否有权访问系统或服务器.它能够保护系统免受未经授权的访问,确保只有经过验证的用户才能使用系统. 物联网连接万物,对试图访问基础设施的用户进行认证至关重要.未 ...

  8. Elasticsearch 设置用户名密码认证(亲测)

    文章目录 第一步.在 elasticsearch.yml 中添加如下配置 第二步.重启elasticsearch服务 第三步.设置elasticsearch密码 第四步.验证 *修改密码 *如果密码忘 ...

  9. 函数加上简单用户名密码认证

    def renzheng(func):#高阶函数传的是函数名func作为参数def wrapper(*args,**kwargs):username=input('用户名:').strip()pass ...

最新文章

  1. Nginx内存池--pool代码抽取(链表套路)
  2. Sublime text3!行首,行尾,批量编辑!
  3. mysql覆盖数据_理解MySQL数据库覆盖索引
  4. Scan Chain的原理与实现(实践)-top down flow
  5. 第三天20160728
  6. python中pillow库教程_Python图像处理库:Pillow 初级教程
  7. vs2015安装python3.6.8,windows下安装caffe (cuda10.0,anaconda3,python3.6→python2.7,vs2015→vs2013)...
  8. 利用animation进行椭圆旋转
  9. SD卡格式化重建分区
  10. CSS中vertical-align和text-align属性详解(使用场景、举例、注意点)、display:table-cell使用详解(基础介绍和使用例子)。
  11. 动态分区式内存管理(完整代码)
  12. 如何构建面向IT性能的运维组织
  13. 制作可独立分发的Android模拟器
  14. 机器学习--特征降维方法总结
  15. 大学专业计算机科学与技术主修课是什么,大学本科计算机科学与技术专业需要主修哪些课程...
  16. 数字IC-1.8 子模块组建整模块-动态数码管设计代码实例
  17. php和按键精灵,按键精灵的脚本 - 对于重复动作(含键盘鼠标)太好用了
  18. 一点资讯拆VIE回国;拼多多做跨境海淘;复宏汉霖首款生物类似药获批
  19. 知乎问答:如果你去摆地摊,卖什么商品最合适?
  20. FC冒险岛java版_FC冒险岛经典版

热门文章

  1. MC9S12XS128实现超声波测距
  2. 淘系技术荣获The Workshop on e-Business会议最佳论文奖!
  3. Minor GC、Major GC、Full GC的区别
  4. crm系统是什么很棒ec实力_crm软件系统哪个最好?优势在哪里?
  5. CollectGarbage 垃圾回收
  6. visual studio 2017 installer 安装包制作过程出现的问题---无法注册模块 HRESULT -2147024769 请与您的技术支持人员联系
  7. 损坏的主控文件表,CHKDSK被终止.如何恢复数据
  8. 网络编程面试题(2020最新版)
  9. 跟着鬼哥学so修改,三,答案篇
  10. Java、JSP农产品交易平台的设计与实现