相关疑难解决方法(0)

HTTP代理如何使用HTTP协议?代理RFC?

与实现HTTP Web服务器相比,如何实现HTTP代理,有何区别?是否有关于此主题的权威指南或RFC或有用的书籍?

proxy http http-proxy

29
推荐指数
3
解决办法
3万
查看次数

Docker:npm安装在代理后面

我有这个Dockerfile:

FROM node:argon

ENV http_proxy http://user:pass@proxy.company.priv:3128
ENV https_proxy https://user:pass@proxy.company.priv:3128

RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app

# Install app dependencies
COPY package.json /usr/src/app/
RUN npm install

# Bundle app source
COPY . /usr/src/app

EXPOSE 8080
CMD [ "npm", "start" ]
Run Code Online (Sandbox Code Playgroud)

但是我在npm安装步骤中得到了这个错误:

npm info如果它以ok npm信息结束使用npm@2.14.12 npm info使用node@v4.2.6 npm warn package.json deployer-ui@1.0.0没有说明npm WARN package.json deployer-ui@1.0. 0没有存储库字段.npm WARN package.json deployer-ui@1.0.0没有自述文件数据npm信息预安装deployer-ui@1.0.0 npm信息尝试注册表请求尝试#1在7:09:23 AM npm http请求GET https://注册表. npmjs.org/body-parser npm信息尝试注册表请求尝试#1在7:09:23 AM npm http请求GET https://registry.npmjs.org/express npm info retry将重试,最后一次尝试时出错:错误:无法建立隧道套接字,因为=写EPROTO npm信息重试将重试,最后一次尝试时出错:错误:隧道套接字无法建立,原因=写入EPROTO

我想这是由于代理.我也尝试过

RUN npm config set proxy http://user:pass@proxy.company.priv:3128 …
Run Code Online (Sandbox Code Playgroud)

proxy npm docker

13
推荐指数
2
解决办法
1万
查看次数

HTTPS 代理服务器仅适用于 SwitchOmega

在问这个问题之前,我做了很多搜索和实践试验。

很长的故事:

我找到了一个关于如何使用 Node.js 编写 http 代理的(非英语)教程。

到目前为止,我所知道和尝试过的:

  • HTTP 代理可以处理 HTTP 请求和 HTTPS 请求,但方式不同。它通过读取客户端的请求来处理 HTTP 请求,并向目标发出新请求并将响应返回给客户端。至于 HTTPS 请求,则是通过 HTTP Tunnel处理的。

在此处输入图片说明

  • SSL proxyFirefox中的代理设置字段和Secure在IE代理设置字段(Windows)都有关设置HTTP隧道。如果设置了SSL proxySecure proxy,当浏览器想要连接到 https 站点时,它会发送CONNECT请求而不是普通请求。

问题:

CONNECT要求是纯文本,这样防火墙可以看到我想要连接到并切断连接主机什么。所以我从一开始就在考虑是否可以使用https与代理服务器对话。我阅读了所有相关的帖子,但找不到直接谈论这个的答案。有些答案还说“没有 https 代理服务器这样的东西”

但是教程说这是可以做到的(客户端和代理服务器之间的 HTTPS 没有其他变化?。所以我试了一下。我用我网站的证书将服务器更改为 https。但最终它只适用于 Chrome 中的Proxy SwitchOmega。它不适用于传统设置,例如 Firefox 代理或 IE 代理设置。

代理 SwitchOmega 设置:

Scheme|Protocol|Server|Port
....  | https  | .... |...
Run Code Online (Sandbox Code Playgroud)

https如果我启动 https 服务器,我必须在这里选择协议。同样,http如果我启动 …

ssl proxy http node.js

11
推荐指数
1
解决办法
3775
查看次数

在代理中正确使用第二个参数

htt(p|ps)当我向https网站发出请求时,在代理中的第二个参数中使用的正确方法是什么?我在下面使用的代理只是一个占位符.

当我尝试这样(它的工作原理):

proxies = {
  'https': 'http://79.170.192.143:34394',
}
Run Code Online (Sandbox Code Playgroud)

当我尝试这样(它也有效):

proxies = {
  'https': 'https://79.170.192.143:34394',
}
Run Code Online (Sandbox Code Playgroud)

htt(p|ps)代理中的第二个只是占位符http吗?如果我向网站发出请求怎么办?

python proxy web-scraping python-3.x

8
推荐指数
1
解决办法
291
查看次数

透明代理通过https访问时出现SSL错误

在我的公司环境中,有一个透明的代理,需要凭据才能访问Internet(每四个小时一次).在我的应用程序中,我成功通过了以下凭据:

var client = new WebClient();
client.Credientals = new NetworkCredential("username", "password");
string result = client.DownloadString("http://...");
// this works!
Run Code Online (Sandbox Code Playgroud)

但是,当我的初始请求是"https://"url时,会发生异常抛出:"底层连接已关闭:无法为SSL/TLS安全通道建立信任关系."

现在我目前的工作是:

  • 捕获访问"https://"url时抛出的WebException
  • 将我的凭据添加到对任意"http://"站点的新请求中
    • (这应该"打开"互联网四小时的窗口)
  • 返回并重新尝试"https://"请求

我想知道是否有更好/更清洁的方法来做到这一点?

c# https proxy

1
推荐指数
1
解决办法
3896
查看次数

标签 统计

proxy ×5

http ×2

c# ×1

docker ×1

http-proxy ×1

https ×1

node.js ×1

npm ×1

python ×1

python-3.x ×1

ssl ×1

web-scraping ×1