Comments (2)
As of 3c37c92, there are two ways to do this, in your session configuration or in an individual request. Both methods use the proxies
argument from python-requests.
from requests import Session
from robobrowser import RoboBrowser
# You can add your proxies to your session configuration, which means they'll
# apply to all requests by default:
session = Session()
session.proxies = {'http': 'http://my.proxy.com/'}
browser = RoboBrowser(session=session)
# Or you can choose proxies when calling open, follow_link, or submit_form,
# which overrides any default settings:
browser.open('https://github.com/', proxies={'http': 'http://another.proxy.com/'})
I'm closing this issue for now, but feel free to reopen if you encounter any issues with proxies.
from robobrowser.
hi @jmcarp , thank you for your awesome work. I'm totally new in python. I realized that your code above would work perfectly, but as newbie I can't figured it out. I'm using script below & I would like to run the script via proxy server (e.g. 127.0.0.1:8080).
import re
import robobrowser
import sys
MOBILE_USER_AGENT = "Mozilla/5.0 (Linux; U; en-gb; KFTHWI Build/JDQ39) AppleWebKit/535.19 (KHTML, like Gecko) Silk/3.16 Safari/535.19"
FB_AUTH = "https://www.facebook.com/v2.6/dialog/oauth?redirect_uri=fb464891386855067%3A%2F%2Fauthorize%2F&display=touch&state=%7B%22challenge%22%3A%22IUUkEUqIGud332lfu%252BMJhxL4Wlc%253D%22%2C%220_auth_logger_id%22%3A%2230F06532-A1B9-4B10-BB28-B29956C71AB1%22%2C%22com.facebook.sdk_client_state%22%3Atrue%2C%223_method%22%3A%22sfvc_auth%22%7D&scope=user_birthday%2Cuser_photos%2Cuser_education_history%2Cemail%2Cuser_relationship_details%2Cuser_friends%2Cuser_work_history%2Cuser_likes&response_type=token%2Csigned_request&default_audience=friends&return_scopes=true&auth_type=rerequest&client_id=464891386855067&ret=login&sdk=ios&logger_id=30F06532-A1B9-4B10-BB28-B29956C71AB1&ext=1470840777&hash=AeZqkIcf-NEW6vBd"
def get_access_token(email, password):
s = robobrowser.RoboBrowser(user_agent=MOBILE_USER_AGENT, parser="lxml")
s.open(FB_AUTH)
## submit login form
f = s.get_form()
f["pass"] = password
f["email"] = email
s.submit_form(f)
## click the 'ok' button on the dialog informing you that you have already authenticated with the Tinder app
f = s.get_form()
s.submit_form(f, submit=f.submit_fields['__CONFIRM__'])
## get access token from the http response
access_token = re.search(r"access_token=([\w\d]+)", s.response.content.decode()).groups()[0]
return access_token
email = sys.argv[1]
password = sys.argv[2]
access_token = get_access_token(email, password)
print(access_token)
I've tried code bellow, but got no expected result.
from requests import Session
import re
from robobrowser import RoboBrowser
import sys
MOBILE_USER_AGENT = "Mozilla/5.0 (Linux; U; en-gb; KFTHWI Build/JDQ39) AppleWebKit/535.19 (KHTML, like Gecko) Silk/3.16 Safari/535.19"
FB_AUTH = "https://www.facebook.com/v2.6/dialog/oauth?redirect_uri=fb464891386855067%3A%2F%2Fauthorize%2F&display=touch&state=%7B%22challenge%22%3A%22IUUkEUqIGud332lfu%252BMJhxL4Wlc%253D%22%2C%220_auth_logger_id%22%3A%2230F06532-A1B9-4B10-BB28-B29956C71AB1%22%2C%22com.facebook.sdk_client_state%22%3Atrue%2C%223_method%22%3A%22sfvc_auth%22%7D&scope=user_birthday%2Cuser_photos%2Cuser_education_history%2Cemail%2Cuser_relationship_details%2Cuser_friends%2Cuser_work_history%2Cuser_likes&response_type=token%2Csigned_request&default_audience=friends&return_scopes=true&auth_type=rerequest&client_id=464891386855067&ret=login&sdk=ios&logger_id=30F06532-A1B9-4B10-BB28-B29956C71AB1&ext=1470840777&hash=AeZqkIcf-NEW6vBd"
def get_access_token(email, password, proxiesvalue):
session = Session()
session.proxies = {'http': proxiesvalue}
s = robobrowser.RoboBrowser(user_agent=MOBILE_USER_AGENT, session=session, parser="lxml")
s.open(FB_AUTH)
## submit login form
f = s.get_form()
f["pass"] = password
f["email"] = email
s.submit_form(f)
## click the 'ok' button on the dialog informing you that you have already authenticated with the Tinder app
f = s.get_form()
s.submit_form(f, submit=f.submit_fields['__CONFIRM__'])
## get access token from the http response
access_token = re.search(r"access_token=([\w\d]+)", s.response.content.decode()).groups()[0]
return access_token
email = sys.argv[1]
password = sys.argv[2]
proxiesvalue = sys.argv[3]
access_token = get_access_token(email, password, proxiesvalue)
print(access_token)
feel free to edit script, any help from you would be much appreciated.
joy
from robobrowser.
Related Issues (20)
- cannot use
- .csv file getting record empty
- Unmaintained, dead, list of alternative projects
- Error handling detected unusual traffic
- browser cookies dont get changed HOT 1
- Import Error: HTMLParser HOT 1
- page screenshot
- Is this project abandonned ? HOT 1
- ImportError: cannot import name 'RoboBrowser' HOT 3
- Cannot set a value to non-existent attribute within a field
- Remove Checkbox in form
- Broken on Python 3.7 - access to re._pattern_type in Browser.get_link() HOT 1
- How to click a button in form HOT 2
- About retry
- Refresh page
- Inaccurate Docs
- RoboBrowser is broken with werkzeug upgrade HOT 4
- download
- pls fix the 'werkzeug' library HOT 8
- Possible to upload multiple files? HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from robobrowser.