如何通过HTTP代理与TcpClientC#进行通信,有点像WebProxy使用时HttpWebResponse?
我正在尝试从通过Internet选项中设置的http代理连接到Internet的系统发送电子邮件.
我正在使用SmtpClient.
有没有办法通过此代理设置发送带有SmtpClient的邮件.谢谢
出于调试目的,我需要配置Java以使用HTTP请求的代理.当我按Ctrl+ 时,我想知道如何在我的Eclipse环境中这样做F11?任何帮助将不胜感激.
在cURL文档中,有一个被调用的选项CURLOPT_HTTPPROXYTUNNEL,它被定义为在启用时通过代理创建隧道.
但是,我不知道隧道是什么以及它做了什么.如果我不使用像这样的隧道会有什么不同?
curl_setopt($session, CURLOPT_HTTPPROXYTUNNEL, 1)
Run Code Online (Sandbox Code Playgroud)
更新:
我得到的是隧道指的是一个HTTP CONNECT METHOD,这就是我所理解的:
基于HTTP的隧道方法使用HTTP CONNECT方法/命令.客户端向HTTP代理发出HTTP CONNECT命令.然后,代理与特定服务器建立TCP连接:端口,并在该服务器:端口和客户端连接之间中继数据.因为这会产生安全漏洞,所以支持CONNECT的HTTP代理通常会限制对CONNECT方法的访问.代理仅允许访问特定授权服务器的白名单.
那么,问题是,使用和不使用CONNECT方法连接代理有什么区别?
我正在使用最新版本的nodejs和http-proxy跟踪在线示例,但是当我的请求发送到端点https服务器时出现以下错误:
C:\Users\Me\node_modules\http-proxy\lib\http-proxy\index.js:114
throw err;
Error: DEPTH_ZERO_SELF_SIGNED_CERT
at SecurePair.<anonymous> (tls.js:1370:32)
at SecurePair.EventEmitter.emit (events.js:92:17)
at SecurePair.maybeInitFinished (tls.js:982:10)
at CleartextStream.read [as _read] (tls.js:469:13)
at CleartextStream.Readable.read (_stream_readable.js:320:10)
at EncryptedStream.write [as _write] (tls.js:366:25)
at doWrite (_stream_writable.js:226:10)
at writeOrBuffer (_stream_writable.js:216:5)
at EncryptedStream.Writable.write (_stream_writable.js:183:11)
at write (_stream_readable.js:582:24)
Run Code Online (Sandbox Code Playgroud)
我的代码非常简单:
var httpProxy = require('http-proxy');
var http = require('http');
var fs = require('fs');
var apimcert = fs.readFileSync('./mycert.pfx');
var proxy = httpProxy.createProxyServer({});
var options = {
pfx: apimcert,
passphrase : 'pAssw0rd',
rejectUnauthorized : 'false',
agent: false
};
var server = require('https').createServer(options, …Run Code Online (Sandbox Code Playgroud) 我目前正在尝试设置AWS Api Gateway,代理另一个api,它具有完整的功能方法,响应内容,状态代码等.设置起来相当简单,但我注意到Api网关总是返回,200 OK无论是什么起源api回应.
FX.如果有一个错误的请求(在原始api中)导致错误消息JSON和a 400 Bad Request,Api网关将以完全相同的错误消息响应,但状态代码为200 OK
如果我从Message ResponseAPI网关界面中删除所有设置,我会在API网关中收到内部错误.我是否必须在Api网关中手动映射来自原始api的所有不同状态代码?
我更喜欢是否可以让状态代码(以及当前工作得很好的响应)通过,而不是让Api网关以任何方式触摸它.
想继续问题 如何让pip在代理服务器后面工作
我有Windows Server和Python 3.5(64).
在密码中,我的用户包括#.
我尝试使用一些解决方法:
"C:\Program Files\Python35\scripts\pip.exe" install --proxy http://proxy_user:pwd#123@proxy.su:1111 TwitterApi "C:\Program Files\Python35\scripts\pip.exe" install --proxy "http://proxy_user:pwd#123"@proxy.su:1111 TwitterApi "C:\Program Files\Python35\scripts\pip.exe" install --proxy http://"proxy_user:pwd#123"@proxy.su:1111 TwitterApi "C:\Program Files\Python35\scripts\pip.exe" install --proxy http://proxy_user:"pwd#123"@proxy.su:1111 TwitterApi
但是得到错误
File "c:\program files\python35\lib\site-packages\pip\_vendor\requests\package
s\urllib3\util\url.py", line 189, in parse_url
raise LocationParseError(url)
pip._vendor.requests.packages.urllib3.exceptions.LocationParseError: Failed to p
arse: proxy_user:pwd
在这种情况下如何逃避角色#?
我在商业环境中使用 R,其中外部连接全部通过 Web 代理进行,因此我们需要指定代理服务器地址并确保我们使用 Windows 身份验证连接到它。
我已经有了将 RCurl 和 httr 包配置为默认使用这些设置的代码 - 即
httr::set_config(config(
proxy = "my.proxy.address",
proxyuserpwd = ":",
proxyauth = 4
))
Run Code Online (Sandbox Code Playgroud)
或者
opts <- list(
proxy = "my.proxy.address",
proxyuserpwd = ":",
proxyauth = 4
)
RCurl::options(RCurlOptions = opts)
Run Code Online (Sandbox Code Playgroud)
但是,在最近的几个案例中,我发现依赖curl包来发出 Web 请求的包 - 例如xml2::read_xml- 我找不到任何方法来设置相同的代理选项,因此默认情况下它们会被选中并由 curl 使用。
如果我自己直接使用 curl,我可以在新句柄上设置选项,以下代码足以成功工作:
h = new_handle(proxy = "my.proxy.address",
proxyuserpwd = ":")
con = curl(url,handle = h)
page = xml2::read_xml(con)
Run Code Online (Sandbox Code Playgroud)
...但是当 curl 的使用被埋在其他人的功能中时,这没有任何帮助!
或者,我知道我可以为代理地址设置一个环境变量,如下所示:
Sys.setenv(https_proxy = "https://my.proxy.address")
Run Code Online (Sandbox Code Playgroud)
... libcurl …
我一直在尝试使用此官方指南在我的 Apple TV(第 4 代,运行 tvOS 13.3)上设置 Charles Proxy。在 Apple Configurator 2 上创建配置文件后,我正在执行以下在 Apple TV 上设置配置文件的步骤:
按上面的“完成”后,显示此屏幕表示尚未安装配置文件:
您能指导我如何在运行 tvOS 13.3 的 Apple TV 上成功安装 Charles Proxy 配置文件吗?
我有一个 http 代理来代理任何网站,并在将 HTML 返回给客户端之前注入一些自定义 JS 文件。每当我尝试访问代理网站时,它都会挂断或浏览器似乎无法确定加载。但是当我检查 HTML 源代码时,我成功地注入了我的自定义 JavaScript 文件。这是代码:
const cheerio = require('cheerio');
const http = require('http');
const httpProxy = require('http-proxy');
const { ungzip } = require('node-gzip');
_initProxy(host: string) {
let proxy = httpProxy.createProxyServer({});
let option = {
target: host,
selfHandleResponse: true
};
proxy.on('proxyRes', function (proxyRes, req, res) {
let body = [];
proxyRes.on('data', function (chunk) {
body.push(chunk);
});
proxyRes.on('end', async function () {
let buffer = Buffer.concat(body);
if (proxyRes.headers['content-encoding'] === 'gzip') {
try {
let $ = …Run Code Online (Sandbox Code Playgroud) http-proxy ×10
c# ×2
curl ×2
node.js ×2
proxy ×2
.net ×1
apple-tv ×1
eclipse ×1
https ×1
java ×1
javascript ×1
pip ×1
python ×1
python-3.x ×1
r ×1
smtpclient ×1
tvos ×1
xml2 ×1