Fixie другой вариант. Fixie - это дополнение, которое предоставляет приложениям Heroku фиксированный набор статических IP-адресов для исходящих запросов. Это язык и рамки-агностик.
Fixie прост в установке и имеет документацию «получить начальную» (аналогичную той, что приведена ниже для Python) для Ruby, Node, Java, Go here. Вот для Python.
Прежде всего, необходимо подписаться на бесплатный тарифный план:
$ heroku addons:open fixie
Opening fixie for sharp-mountain-4005…
Далее FIXIE_URL
будет установлен в качестве переменной окружения.Для того, чтобы маршрутизировать конкретный запрос через Fixie с помощью requests
:
import os, requests
proxyDict = {
"http" : os.environ.get('FIXIE_URL', ''),
"https" : os.environ.get('FIXIE_URL', '')
}
r = requests.get('http://www.example.com', proxies=proxyDict)
Использование urllib2
такую же функциональность будет выглядеть следующим образом:
import os, urllib2
proxy = urllib2.ProxyHandler({'http': os.environ.get('FIXIE_URL', '')})
auth = urllib2.HTTPBasicAuthHandler()
opener = urllib2.build_opener(proxy, auth, urllib2.HTTPHandler)
response = opener.open('http://www.example.com')
html = response.read()
В обоих случаях эти запросы будут поступать через известного IP-адрес, присвоенный Fixie ,
Я не думаю, что есть такой вариант. У Heroku есть только несколько IP-адресов, и они сопоставляются с их http-маршрутизаторами. Возможно, есть обходные пути, которые могут работать для вас. Какие API-интерфейсы и что именно они требуют? –
Что вы в конечном итоге использовали в конце? Не было бы проще получить VPS, используемый в качестве поддомена, где-то только для тех вещей, для которых вам нужен выделенный IP? Удивившись на одном и том же вопросе (учитывая переход на Heroku, и мне нужен выделенный IP-адрес для моих потребностей электронной почты.) –