Веб-прокси в Python / Django? - PullRequest
       0

Веб-прокси в Python / Django?

2 голосов
/ 13 декабря 2011

Мне нужен прокси, который выступает в качестве посредника для получения изображений. Например, мой сервер запрашивает domain1.com/?url=domain2.com/image.png и сервер domain1.com ответит данными на domain2.com/image.png через сервер domain1.com.

По сути, я хочу передать прокси URL-адрес, который я хочу получить, и прокси-сервер отвечает этим ресурсом.

Любые предложения о том, с чего начать?

Мне нужно что-то очень простое в использовании или реализации, поскольку я очень начинающий во всем этом.

В большинстве решений, которые я нашел в python и / или django, прокси действует как «переводчик», т.е. domain1.com/image.png переводится в domain2.com/image.png, что, очевидно, не одно и то же.

В настоящее время у меня есть следующий код, но загрузка изображений приводит к искаженным данным:

import httplib2
from django.conf.urls.defaults import *
from django.http import HttpResponse

def proxy(request, url):
    conn = httplib2.Http()
    if request.method == "GET":
        url = request.GET['url']
        resp, content = conn.request(url, request.method)
        return HttpResponse(content)

Ответы [ 3 ]

8 голосов
/ 04 сентября 2012

Старый вопрос, но для будущих гуглеров, я думаю, это то, что вы хотите:

# proxies the google logo
def test(request):
    url = "http://www.google.com/logos/classicplus.png"
    req = urllib2.Request(url)
    response = urllib2.urlopen(req)
    return HttpResponse(response.read(), mimetype="image/png")
1 голос
/ 14 декабря 2011

Если файл, который вы извлекаете и возвращаете, является изображением, вам нужно изменить mimetype вашего объекта HttpResponse .

0 голосов
/ 14 декабря 2011

Используйте механизируйте , это позволит вам выбрать прокси и действовать как браузер, упрощая смену пользовательского агента, переходя назад и вперед в истории и обрабатывая аутентификацию или куки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...