例如,
当我使用file_get_contents()这个ip get page时,我的ip服务器是200.231.123.11 .
但我希望将此更改为动态IP.(ip自动更改)我在我的php:UPDATED中使用此代码
<?php
//Define your context options
$opts = array(
'http' => array(
'proxy' => 'tcp://221.10.40.238:80',
'request_fulluri' => true,
),
);
// create the context...
$context = stream_context_create($opts);
// ...and use it to fetch the data
echo file_get_contents('http://www.example.com', false, $context);
?>
Run Code Online (Sandbox Code Playgroud)
但没有工作,仍然得到真正的IP页面(200.231.123.11).
我正在尝试访问位于OAuth2身份验证后面的媒体文件(图像,视频)。
为了访问资源,我需要向请求中添加自定义授权承载令牌,因此我不能使用简单的重写(至少据我所知)。
它不能通过普通的HTML(say img或videotag)来完成,所以我正在考虑让Nginx将查询代理到最终服务器。
每个媒体资源都将通过/proxy具有token参数(用于身份验证)和url要加载的实际资源的路径加载。
范例网址:
http://myserver.com/proxy/?token=12345&url=http://protectedserver.com/custompath/asset
Run Code Online (Sandbox Code Playgroud)
这是我想到的,但是我不确定如何配置proxy_pass指令,因为我需要它$url专门代理变量。我不需要代理路径(无论如何它都是空的)。
location /proxy/ {
if ($arg_token ~ "^$") { return 404; }
if ($arg_url ~ "^$") { return 404; }
set $url $arg_url;
proxy_set_header Authorization "Bearer $arg_token";
set $args "";
#proxy_pass $url;
}
Run Code Online (Sandbox Code Playgroud)
注意:这将在封闭的环境中运行,并且只有特定的计算机(交互作用受限的信息亭)才能访问该页面,因此我不必担心auth令牌的潜在泄漏。
我在ServerFault上注意到了类似的问题,但没有人对此有答案:https : //serverfault.com/questions/671991/nginx-proxy-pass-url-from-get-argument
我正在寻找使它工作的配置设置或可行的替代解决方案。
有没有办法在公司代理后面使用ZAP?即我想配置我的浏览器使用ZAP提供的本地代理,然后ZAP应通过我们的全局代理发送请求:
Firefox -> ZAP -> WSA proxy (NTLM) -> Intarweb
Run Code Online (Sandbox Code Playgroud)
即使ZAP不支持NTLM代理,也应该知道,因为我也在本地为那些无法正确处理身份验证的应用程序运行CNTLM.
(我试图寻找一个解决方案但是当然不可能找到与名称中有"代理"的应用程序的代理有关的任何事情...:/)
我正在尝试设置代理,并且正在使用socket和httlib模块。我的Web浏览器指向运行服务器的localhost和端口,并且正在通过服务器处理HTTP请求。当浏览器正在请求网页时,我从HTTP标头中提取网址,然后尝试以以下方式通过代理进行请求:
conn = httplib.HTTPSConnection(url,serverPort)
conn.request("GET",url)
r1 = conn.getresponse()
print r1.status,r1.reason
Run Code Online (Sandbox Code Playgroud)
请注意,第一行中的serverPort参数是代理所在的端口,而url是当请求网页时从浏览器接收到的HTTP标头中提取的url。
因此,当我运行代理并在浏览器中输入诸如http://www.google.com或http://www.getmetal.org之类的地址时,似乎出现了错误。
错误是:
socket.gaierror:[Errno 8]提供的节点名或服务名,或者未知
还有痕迹:-
http://i.stack.imgur.com/UgZwD.png
如果有人对问题可能有什么建议,我将非常高兴。这是代理服务器的代码:注意:如果正在测试,由于可能必须将所有4个空格放在右边以使其显示为代码段,因此可能存在一些缩进问题
from socket import *
import httplib
import webbrowser
import string
serverPort = 2000
serverSocket = socket(AF_INET,SOCK_STREAM)
serverSocket.bind(('', serverPort))
serverSocket.listen(2)
urlList=['www.facebook.com','www.youtube.com','www.twitter.com']
print 'The server is ready to receive'
while 1:
connectionSocket, addr = serverSocket.accept()
print addr
req= connectionSocket.recv(1024)
#parse Get request here abnd extract url
reqHeaderData= req.split('\n')
newList=[]
x=0
while x<len(reqHeaderData):
st=reqHeaderData[x]
element= st.split(' ')
print element
newList.append(element)
x=x+1 …Run Code Online (Sandbox Code Playgroud) 当我使用ajax代码来检索json数据时,在tizen可穿戴模拟器2.3.1中,我无法连接到代理错误.
但是当我搜索时,每个人都告诉不需要为模拟器提供任何特定的代理设置.如果互联网在Tizen ide中工作正常,那么它也可以在Tizen模拟器中工作.但我收到代理错误.
有人可以帮我解决这个代理错误吗?
更新:
我应该在哪里更改代理?
代码示例:
$.getJSON( "http://api.geonames.org/citiesJSON? north=44.1&south=-9.9&east=-22.4&west=55.2&lang=de&username=demo", function( data ) {
$('#divText').html(data.result);
})
.fail(function( err ) {
//Never called
console.log( err );
});
}
Run Code Online (Sandbox Code Playgroud) 我试图Authorization: 'Bearer <TOKEN>'通过参数传入标题到我的store.load(),它不起作用.
如果我这样做,它的工作原理如下:
Ext.define('ExtApplication4.model.MenuListModel', {
extend: 'ExtApplication4.model.Base',
requires: [
'ExtApplication4.model.Base'
],
fields: [
{
name: 'text',
type: 'string'
},
{
name: 'iconCls',
type: 'string'
},
{
name: 'className',
type: 'string'
}
],
proxy: {
type: 'ajax',
url: 'http://xxxxx/xxx/api/user/getusermenus/',
reader: {
type: 'json',
rootProperty: 'data'
},
headers: {
Authorization: 'Bearer ' + Ext.decode(Ext.util.Cookies.get('token'))
}
}
});
Run Code Online (Sandbox Code Playgroud)
问题是我想填充我的授权标题store.load().我花了好几个小时试图找到这样做的语法.我尝试标题的所有内容都没有添加.
有人能告诉我怎么做吗?
这是我试过的:
targetStore.load({
params: {
username: uname
},
//headers: {
// Authorization: 'Bearer ' + token;
//}, …Run Code Online (Sandbox Code Playgroud) 我知道不应该将NGINX用作转发代理,但是我有这样做的要求...无论如何,显然,要使HTTP用作转发代理并不难,但是在尝试配置https时会出现问题。我生成了一些自签名证书,然后尝试连接到https://www.google.com,它给我错误ERR_TUNNEL_CONNECTION_FAILED。该问题与我的证书有某种关系,但是我不知道如何解决此问题。有谁知道如何实现此功能?
这是我的配置
server {
listen 443 ssl;
root /data/www;
ssl on;
ssl_certificate /etc/ssl/certs/server.crt;
ssl_certificate_key /etc/ssl/certs/server.key;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
ssl_prefer_server_ciphers on;
location / {
resolver 8.8.8.8;
proxy_pass https://$http_host$uri$is_args$args;
}
}
Run Code Online (Sandbox Code Playgroud) http:proxy错误的原因是什么:x509:在使用节点的特定IP 启动kubectl代理时由未知权限签名的证书?
kubectl proxy --port=8001 --address=172.31.0.16 --accept-hosts='172.31.0.16'
I1222 09:00:03.471836 16775 logs.go:41] http: proxy error: x509: certificate signed by unknown authority (possibly because of "crypto/rsa: verification error" while trying to verify candidate authority certificate "kubernetes")
Run Code Online (Sandbox Code Playgroud) 我正在尝试设置NPM(v9.4.0)代理,但运行时遇到以下错误npm i -g npm@latest:
npm ERR! code E407
npm ERR! 407 Proxy Authentication Required: npm@latest
Run Code Online (Sandbox Code Playgroud)
我用于代理的密码包含一个"@"字符,我怀疑这是问题的根本原因.我在"@"之前用"\"尝试过
npm config set proxy http://"user:MyP@ssword"@proxy.big.corp.fr:8080
npm config set https-proxy http://"user:MyP@ssword"@proxy.big.corp.fr:8080
Run Code Online (Sandbox Code Playgroud)
但没有成功.有没有人有想法?
我在开发Angular应用程序时正在使用proxy.conf.json。
但是,对于某些端点,我希望在调用时仅返回一个JSON对象。目前,我的proxy.conf文件重定向到本地运行的后端,该后端返回这些JSON。但是我宁愿不运行后端服务器,而只是从proxy.conf.json返回JSON。
这有可能吗?