我想集成python Selenium和Requests模块在网站上进行身份验证.
我使用以下代码:
import requests
from selenium import webdriver
driver = webdriver.Firefox()
url = "some_url" #a redirect to a login page occurs
driver.get(url) #the login page is displayed
#making a persistent connection to authenticate
params = {'os_username':'username', 'os_password':'password'}
s = requests.Session()
resp = s.post(url, params) #I get a 200 status_code
#passing the cookies to the driver
driver.add_cookie(s.cookies.get_dict())
Run Code Online (Sandbox Code Playgroud)
问题是当我进入浏览器时,url即使我通过了请求会话生成的cookie ,我尝试访问时仍然存在登录验证.
如何修改上面的代码以通过身份验证网页?
任何人都可以帮我解决这个问题吗?
非常感谢您的帮助.
最好的祝福.
当我从中读取数据时,我需要找到一种顺利管理服务器停顿的方法。我写了下面这段代码:
def listener():
resp = requests.get(someurl, stream=True)
if resp.status_code == 200:
for line in resp.iter_lines():
if line:
do_something_with_the_line
print(result)
price_thread = threading.Thread(target=listener, name="StreamingThread", args=[])
trade_thread.start()
Run Code Online (Sandbox Code Playgroud)
该代码运行良好,直到服务器发生停顿(API 提供者建议当 10 秒内没有收到“行”时发生停顿)。
我如何在我的代码中实现这一点?换句话说,当发生停顿时,我会尝试调用该listener方法而不退出线程。price_thread
提前致谢
我有一个用户模型类定义如下:
class CustomUser(models.Model):
user = models.OneToOneField(User)
slug = models.SlugField(max_length=35, unique=True,help_text="URI dell'utente che appare sul browser")
team = models.CharField(max_length=100, null=False, verbose_name="Team")
area = models.CharField(max_length=100, null=False, verbose_name="Area")
line_manager = models.ForeignKey('self', null=True, blank=True,related_name='parent')
Run Code Online (Sandbox Code Playgroud)
我想检索 CustomUser 的所有 line_managers。 假设我有:
A
-B
-C
Run Code Online (Sandbox Code Playgroud)
其中 C 是叶子,B 和 A 是我想要检索的值。我该怎么做?