我正在尝试将流量从我的测试应用程序的/ api/*url重定向到我在Heroku上托管的api.
因此,localhost/api/hello应该代理到testapp.heroku.com/hello并返回响应.
使用node-http-proxy在localhost上完美地工作到localhost,但当我将它指向myapp.heroku.com时,我收到此错误:
Heroku | No such app
There is no app configured at that hostname.
Perhaps the app owner has renamed it, or you mistyped the URL.
Run Code Online (Sandbox Code Playgroud)
我有一种感觉是Heroku的路由系统正在捏造我的代理请求,而我还没有找到解决方法.有任何想法吗?
另请参阅:HTTP代理背后的Emacs
是否有可能告诉emacs 自动使用IE正在使用的任何代理设置?
url.el包说我可以显式指定这样的代理:
(setq url-using-proxy t)
(setq url-proxy-services '(("http" . "proxyserver:3128")))
Run Code Online (Sandbox Code Playgroud)
当我更改IE代理设置时,是否可能会自动发生这种情况?
我需要在Netty客户端配置socks代理(通过socks4或5个代理请求不同的站点).从免费袜子列表(如www.socks-proxy.net,http://sockslist.net/ 等)尝试了很多代理,但没有运气:
@Test
public void testProxy() throws Exception {
final String ua = "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36";
final String host = "www.main.de";
final int port = 80;
Bootstrap b = new Bootstrap();
b.group(new NioEventLoopGroup())
.channel(NioSocketChannel.class)
.handler(new ChannelInitializer<SocketChannel>() {
@Override
protected void initChannel(SocketChannel ch) throws Exception {
ChannelPipeline p = ch.pipeline();
p.addLast(new HttpClientCodec());
p.addLast(new HttpContentDecompressor());
p.addLast(new HttpObjectAggregator(10_485_760));
p.addLast(new ChannelInboundHandlerAdapter() {
@Override
public void channelActive(final ChannelHandlerContext ctx) throws Exception {
HttpRequest request = new …Run Code Online (Sandbox Code Playgroud) 提供的答案需要有关qlik服务器身份验证的更多详细信息
我正在尝试qlik通过WebSockets 连接到使用证书.
错误:
websocket._exceptions.WebSocketProxyException: failed CONNECT via proxy status: 503
Run Code Online (Sandbox Code Playgroud)
码:
from websocket import create_connection
import ssl
senseHost = "dummy.xyz.com"
privateKeyPath = "C:\\ProgramData\\Qlik\\Sense\\Repository\\Exported Certificates\\"
## userDirectory and userId can be found at QMC -> Users
userDirectory, userId = "DIRECTORY_OF_SERVER","QlikServerUserId"
url = "wss://" + senseHost + ":4747/app/" # valid
certs = ({"ca_certs": privateKeyPath + "root.pem",
"certfile": privateKeyPath + "client.pem",
"keyfile": privateKeyPath + "client_key.pem",
"cert_reqs":ssl.CERT_REQUIRED,
"server_side": False
})
ssl.match_hostname = lambda cert, hostname: True
ws = create_connection(url, sslopt=certs,
http_proxy_host="xyz.corp.company.com", …Run Code Online (Sandbox Code Playgroud) 抱歉,这令人困惑。
我使用NodeJS请求模块编写了一个脚本,该模块在网站上运行并执行功能,然后返回数据。当我不通过将其设置为false来使用代理时,此脚本可以很好地工作。这不是Selenium / puppeteer不允许完成的任务
proxy: false
但是,当我设置一个(工作的)代理服务器时。它无法执行相同的任务,并被网站防火墙/ antibot软件检测到。
proxy: http://xx.xxx.xx.xx:3128
注意事项:
问题基本上是。使用代理时,请求模块是否更改任何内容(例如标头顺序)?
唯一的区别是更改了导致失败的代理。提出一个请求,不提出一个请求。
url : url,
simple : false,
forever: true,
resolveWithFullResponse: true,
gzip: true,
headers: {
'Host' : 'www.sitename.com',
'Connection' : 'keep-alive',
'Upgrade-Insecure-Requests': '1',
'User-Agent' : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.109 Safari/537.36',
'Accept' : 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8',
'Accept-encoding' : 'gzip, deflate, br',
'Accept-Language' : 'en-GB,en-US;q=0.9,en;q=0.8',
},
method : 'GET',
jar: globalJar,
simple: false,
followRedirect: false,
followAllRedirects: false,
Run Code Online (Sandbox Code Playgroud) 这个问题必然有两种形式,因为我不知道解决方案的更好途径.
我正在抓取的网站经常将我踢到重定向的"用户阻止"页面,但频率(按请求/时间)似乎是随机的,并且它们似乎有一个黑名单阻止我正在使用的许多"开放"代理列表通过Proxymesh.所以...
当Scrapy收到其请求的"重定向"(例如DEBUG: Redirecting (302) to (GET http://.../you_got_blocked.aspx) from (GET http://.../page-544.htm))时,它是否继续尝试访问page-544.htm,还是继续到page-545.htm并永远丢失在-544.htm页面上?如果它"忘记"(或将其视为已访问),是否有办法告诉它继续重试该页面?(如果它自然地这样做,那么yay,并且很高兴知道...)
什么是最有效的解决方案?
(a)我目前正在做的事情:通过http_proxy环境变量使用proxymesh旋转代理,它似乎经常旋转代理,至少可以定期地通过目标站点的重定向.(下行:开放代理的ping速度很慢,只有这么多,proxymesh最终会开始收取我每次演出10次演出的费用,我只需要它们在重定向时旋转,我不知道经常或在什么触发它们旋转,以及上面:我不知道我被重定向的页面是否被Scrapy重新排队...)(如果Proxymesh在每个请求上轮换,那么我可以付出合理的代价费用).
(b)使用中间件在每次重定向上重新选择新代理是否有意义(并且很简单)?每一个请求怎么样?通过TOR或Proxifier这样的东西会更有意义吗?如果这是相对简单的,我将如何设置它?我在一些地方读过这样的东西,但大多数都是过时的链接断开或Scated命令已弃用.
作为参考,我确实为Proxy Mesh设置了中间件(是的,我正在使用http_proxy环境变量,但是当我遇到麻烦时,我是冗余的粉丝).所以这就是我目前所拥有的,如果重要的话:
class ProxyMiddleware(object):
def process_request(self, request, spider):
request.meta['proxy'] = "http://open.proxymesh.com:[port number]"
proxy_user_pass = "username:password"
encoded_user_pass = base64.encodestring(proxy_user_pass)
request.headers['Proxy-Authorization'] = 'Basic ' + encoded_user_pass
Run Code Online (Sandbox Code Playgroud) 我正在尝试在我的本地计算机上使用转发代理服务器(Apache Traffic Server或Squid)作为我的cURL调用的本地HTTP缓存.
我使用以下方法设置了代理:
curl_setopt($ch, CURLOPT_PROXY, 'http://localhost:8080');
Run Code Online (Sandbox Code Playgroud)
当我查询HTTP网站时,cURL执行标准HTTP GET代理请求,可以正确缓存:
GET http://example.com/ HTTP/1.1
Run Code Online (Sandbox Code Playgroud)
但是,在查询HTTPs网站时,cURL执行CONNECT代替,有效地使用代理作为TCP隧道,并阻止它缓存响应:
CONNECT example.com:80 HTTP/1.1
Run Code Online (Sandbox Code Playgroud)
有没有办法迫使cURL GET甚至为HTTPs网站执行请求?
我可以理解在HTTP代理上使用TCP隧道进行HTTP隧道安全性的基本原理,但由于我的代理服务器在localhost上,我不关心使用不安全的HTTP连接到代理,并希望cURL执行GET请求:
GET https://example.com/ HTTP/1.1
Run Code Online (Sandbox Code Playgroud)
我试过用:
curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, false);
Run Code Online (Sandbox Code Playgroud)
但这并没有改变任何事情.
我的目标是使用WebSocket .Net客户端实现(即不是浏览器)通过需要NTLM身份验证的公司代理连接到WebSocket.到目前为止,所有的解决方案(例如websocket-sharp-with-proxy,websocket4net)都很简短.
我试过这些:
据我所知,作者尚未更新有关添加NTLM代理支持的讨论.http://websocket4net.codeplex.com/discussions/448172
这个问题试图问为什么客户端实现不支持代理,但它没有得到回答,并没有说明为什么没有人想要解决这个问题.
回到我的问题,如何在NTLM代理后面的客户端应用程序中使用WebSocket技术?
我需要在公共内部托管的URL下在内部和外部集成多个Web应用程序.内部部署应用程序与haproxy位于同一数据中心,但非现场应用程序只能通过http代理访问,因为运行haproxy的服务器无法直接访问Internet.因此我必须使用http Internet代理,SOCKS也可能是一个选项.
我如何告诉haproxy后端只能通过代理到达?我宁愿不使用像socksify/proxifier/proxychains/tsocks/...这样的额外组件,因为这会带来额外的开销.
当我在具有直接Internet连接的计算机上运行它时,我可以使用此配置,它可以正常工作:
frontend main
bind *:8000
acl is_extweb1 path_beg -i /policies
acl is_extweb2 path_beg -i /produkte
use_backend externalweb1 if is_extweb1
use_backend externalweb2 if is_extweb2
backend externalweb1
server static www.google.com:80 check
backend externalweb2
server static www.gmx.net:80 check
Run Code Online (Sandbox Code Playgroud)
(显然这些不是我要说的网址,这只是一个例子)
Haproxy能够检查外部应用程序并将流量路由到它们:
在我工作的公司的安全环境中,我必须使用代理,并且haproxy无法连接到外部应用程序.如何让haproxy在http代理后面使用那些外部Web应用程序服务器(不需要身份验证),同时通过公共http页面/浏览器提供对它们的访问?