关于如何使用Python登录网页并检索Cookie以供以后使用?和python获取登录网站的cookie的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于c#–如何保存ref变量供以后使用?
关于如何使用Python登录网页并检索Cookie以供以后使用?和python获取登录网站的cookie的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于c# – 如何保存ref变量供以后使用?、jQuery-如何在Django / Wagtail中检索cookie以设置Python变量、php – 存储重定向URL以供以后使用、python 爬虫 使用cookies自动登录等相关知识的信息别忘了在本站进行查找喔。
本文目录一览:- 如何使用Python登录网页并检索Cookie以供以后使用?(python获取登录网站的cookie)
- c# – 如何保存ref变量供以后使用?
- jQuery-如何在Django / Wagtail中检索cookie以设置Python变量
- php – 存储重定向URL以供以后使用
- python 爬虫 使用cookies自动登录
如何使用Python登录网页并检索Cookie以供以后使用?(python获取登录网站的cookie)
我想使用python下载和解析网页,但是要访问它,我需要设置一些cookie。因此,我需要先通过https登录到网页。登录时刻涉及将两个POST参数(用户名,密码)发送到/login.php。在登录请求期间,我想从响应头中检索cookie并将其存储,以便可以在请求中使用它们来下载/data.php网页。
我将如何在python(最好是2.6)中做到这一点?如果可能,我只想使用内置模块。
答案1
小编典典import urllib, urllib2, cookielibusername = ''myuser''password = ''mypassword''cj = cookielib.CookieJar()opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))login_data = urllib.urlencode({''username'' : username, ''j_password'' : password})opener.open(''http://www.example.com/login.php'', login_data)resp = opener.open(''http://www.example.com/hiddenpage.php'')print resp.read()
resp.read()
是你要打开的页面的纯HTML,你可以使用opener
会话cookie查看任何页面。
答案2
小编典典是使用优秀请求库的版本:
from requests import sessionpayload = { ''action'': ''login'', ''username'': USERNAME, ''password'': PASSWORD}with session() as c: c.post(''http://example.com/login.php'', data=payload) response = c.get(''http://example.com/protected_page.php'') print(response.headers) print(response.text)
c# – 如何保存ref变量供以后使用?
public MyClass(ref Apple apple) { apple = new Apple("Macintosh"); // Works fine }
但是有可能做这样的事情吗?
private Apple myApple; public MyClass(ref Apple apple) { myApple = apple; } public void ModifyApple() { myApple = new Apple("Macintosh"); // does not change the input variable like the first example did }
当ref变量复制到成员变量myApple时,它似乎失去了’ref-ness’,并重新分配它不再改变输入变量.有没有解决的办法?
解决方法
void Foo() { MyClass x = Bar(); x.ModifyApple(); } MyClass Bar() { Apple apple = new Apple(); return new MyClass(ref apple); }
在这里,apple是一个局部变量,在一个堆栈框架中,我们调用ModifyApple时,它将被弹出.
您确定需要修改原始调用者的变量,而不是仅仅更改对象本身?
一种排序假的方法是使用包装器类型来开始:
public class MutableWrapper<T> { public T Value { get; set; } }
然后传入一个MutableWrapper< Apple>,并将其存储在你的类中.然后在ModifyApple你可以写:
wrapper.Value = new Apple();
这不会改变调用者的变量,但是下一次调用者查看Value属性时,他们会看到你的新的apple.
说实话,这种事情往往会导致难以维护的代码,甚至引用对于可读性来说也不是很好.如果您可以解释您想要实现的更大的图景,那么我们可能会提出一个更好的整体方法.
jQuery-如何在Django / Wagtail中检索cookie以设置Python变量
我正在建立一个网站,该网站将根据用户来自哪个省份而具有一些不同的内容.我设置了一个使用jQuery / Bootstrap的模式窗口,当用户未设置Cookie时,该窗口会在用户登陆网站时弹出:
base.html
<script type="text/javascript">
$(document).ready(function() {
if (Cookies.get('province') == null) {
$('#provinceModal').modal('show');
}
$('button#ontario').click(function() {
Cookies.set('province', 'ontario');
$('#provinceModal').modal('hide');
});
$('button#alberta').click(function() {
Cookies.set('province', 'alberta');
$('#provinceModal').modal('hide');
});
$('button#quebec').click(function() {
Cookies.set('province', 'quebec');
$('#provinceModal').modal('hide');
});
});
</script>
cookie的设置正确,因为单击其中一个按钮后,我可以在浏览器中看到它们.我遇到的问题是使用Python检索cookie.我想保存省份变量,然后使用if语句显示某些内容(取决于省份等于什么).
我已经尝试过了,并且能够将cookie打印到控制台:
cookies.py
import Cookie
import os
import requests
def get_cookies():
s = requests.session()
r = s.get("http://www.twitter.com")
cookie = r.cookies['_twitter_sess']
return cookie
如何将此值传递给Python中要在模板中使用的变量?我不确定下一步该怎么做.我想念什么?
解决方法:
您使用的是Python Cookie模块,而不是HttpRequest对象设置的django,为detailed in this answer.(现在已过期,请继续阅读!)
在您正在处理该JQuery弹出窗口的后端的视图中(大概是您将其发送到Django中的端点,并且该代码是视图中的摘录),您想使用
request.session文档来检查和设置cookie的状态.
例如,在Django视图中,它看起来像这样:
def a_standard_view(request):
print request.session
您可以通过使用(再次,这是我最初链接的部分中)来检查cookie设置是否运行良好:
从django.http导入HttpResponse
从django.shortcuts导入渲染
def faux_login(request):
if request.method == 'POST':
if request.session.test_cookie_worked():
request.session.delete_test_cookie()
return HttpResponse("You're logged in.")
else:
return HttpResponse("Please enable cookies and try again.")
request.session.set_test_cookie()
return render(request, 'foo/login_form.html')
在您的特定实例中,您将需要一个处理jquery的终结点(例如/ ajax / province /或类似的终结点).您的Jquery需要使用get call to hit that endpoint以及您要存储在会话数据中的任何详细信息.
php – 存储重定向URL以供以后使用
我正在尝试存储重定向网址,以便稍后使用几页,但我无法弄清楚如何从一个地方到另一个地方.
通常我只是通过URL传递变量,但由于我的重定向URL本身包含URL变量,因此这并不完全有效.
为了让您更好地了解我正在尝试做什么,这是结构.
第1页:用户可以单击链接以在第2页上添加内容
第2页:用户输入文字.在此页面上提交表单会调用“formsubmit.PHP”来处理MySQL数据条目.最后,我需要再次将用户重定向到PAGE 1.重定向URL需要与最初在第1页上的内容完全匹配
有没有人对如何解决这个问题有任何建议?
要声明会话变量,您可以执行以下操作:
$_SESSION['redirUrl'] = "http://www.lolthisisaurl.com/lolagain";
然后你可以参考它
$theUrl = $_SESSION['redirUrl'];
以下是一些可以帮助您入门的材料:http://php.net/manual/en/reserved.variables.session.php
python 爬虫 使用cookies自动登录
我能否在python中,直接使用获取到的cookies来模拟登录网站,用代码怎么实现我们今天的关于如何使用Python登录网页并检索Cookie以供以后使用?和python获取登录网站的cookie的分享就到这里,谢谢您的阅读,如果想了解更多关于c# – 如何保存ref变量供以后使用?、jQuery-如何在Django / Wagtail中检索cookie以设置Python变量、php – 存储重定向URL以供以后使用、python 爬虫 使用cookies自动登录的相关信息,可以在本站进行搜索。
本文标签: