URL参数代理脚本

时间:2016-02-23 23:13:17

标签: javascript php linux ubuntu proxy

有没有办法通过URL参数设置代理?该脚本应该在Ubuntu服务器上运行。或者是否可以用鱿鱼或类似的东西来完成这个?

import string from tkinter import * from tkinter import ttk alphaLower = string.ascii_lowercase alphaUpper = string.ascii_uppercase alphaShiftL = alphaLower alphaShiftU = alphaUpper def shiftList(amount): global alphaShiftL global alphaShiftU alphaShiftL = alphaLower[amount:] + alphaShiftL[:amount] alphaShiftU = alphaUpper[amount:] + alphaShiftU[:amount] def encrypt(unencrypted): encrypted = '' for char in unencrypted: #HERE!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! try: alphaLower.index(char) encrypted += alphaShiftL[alphaLower.index(char)] except ValueError: try: encrypted += alphaShiftU[alphaUpper.index(char)] except ValueError: encrypted += char return encrypted

我已经尝试了一些PHP代理脚本,但它并没有真正使用它。它应该打开一个文件作为流,但是有一些脚本加载整个文件,然后我得到一个输出,或者它不能用于Safari,并且在每个浏览器上我都有使用javascript来获取流的信息。

这可能会有所帮助,为什么它不适用于safari。我不知道如何更多地编辑标题。设置了Accept-Ranges等

3 个答案:

答案 0 :(得分:0)

另一个编辑

在此处尝试此代码。邮政已经实施。

$url = $_GET["url"];
$method = $_SERVER["REQUEST_METHOD"];
$data = array($_POST);
$options = array(
  "http" => array(
    "header"  => "Content-type: application/x-www-form-urlencoded\r\n",
    "method"  => $method,
    "content" => http_build_query($data),
  ),
);
$context  = stream_context_create($options);
$result = file_get_contents($url, false, $context);
$filter = "/(http|https|ftp|ftps)(:\/\/)/i";
$result = preg_replace($filter, "http://YOURDOMAIN.com/FOLDER/LOCATIONOFTHEPROXY.php?url=$1$2", $result);
echo $result;
var_dump($result);

修改

Here我发现了一些使用PhP进行POST的代码。现在只需要实现它。

<?php
$url = "url to post to;
$data = array("comment" => "Testing PhP Post", "name" => "A PhP Script");
// use key "http" even if you send the request to https://...
$options = array(
  "http" => array(
    "header"  => "Content-type: application/x-www-form-urlencoded\r\n",
    "method"  => "POST",
    "content" => http_build_query($data),
  ),
);
$context  = stream_context_create($options);
$result = file_get_contents($url, false, $context);
if ($result === FALSE) { /* Handle error */ }
echo $result;
var_dump($result);
?>

您是否尝试过file_get_contents()

试试这个:

<?php
  echo file_get_contents($_GET["url"]);
?>

使用?url=http://google.com/等查询调用文件。

答案 1 :(得分:0)

如果你想要一个php代理开始,你应该使用docs

另外,您的网址http://proxyserver.com:3128/http://google.de无效,并被视为格式错误的网址。

要修复它,你必须转义其他URL(带有查询sting左右)。例如$URL_in_PHP = "http://proxyserver.com:3128/?url=".urlencode('http://google.de');

var URL_in_javascript = "http://proxyserver.com:3128/?url="+encodeURI('http://google.de');

并告诉您的代理服务器导航到$_GET['url']

答案 2 :(得分:0)

我解决了。

我使用了带有proxy_pass参数的nginx服务器