GVKun编程网logo

如何使用Python登录网页并检索Cookie以供以后使用?(python获取登录网站的cookie)

10

关于如何使用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)

如何使用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变量供以后使用?

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-如何在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以供以后使用

php – 存储重定向URL以供以后使用

我正在尝试存储重定向网址,以便稍后使用几页,但我无法弄清楚如何从一个地方到另一个地方.

通常我只是通过URL传递变量,但由于我的重定向URL本身包含URL变量,因此这并不完全有效.

为了让您更好地了解我正在尝试做什么,这是结构.

第1页:用户可以单击链接以在第2页上添加内容

第2页:用户输入文字.在此页面上提交表单会调用“formsubmit.PHP”来处理MySQL数据条目.最后,我需要再次将用户重定向到PAGE 1.重定向URL需要与最初在第1页上的内容完全匹配

有没有人对如何解决这个问题有任何建议?

最佳答案
您应该使用$_SESSION将变量存储在会话内存中.至于具体如何处理这个问题,你应该能够弄明白(存储变量,检查它是否存在以后,如果是这样重定向等)但是$_SESSION会更有效/更少比试图在查询字符串中来回传递事物更麻烦.

要声明会话变量,您可以执行以下操作:

$_SESSION['redirUrl'] = "http://www.lolthisisaurl.com/lolagain";

然后你可以参考它

$theUrl = $_SESSION['redirUrl'];

以下是一些可以帮助您入门的材料:http://php.net/manual/en/reserved.variables.session.php

python 爬虫 使用cookies自动登录

python 爬虫 使用cookies自动登录

我能否在python中,直接使用获取到的cookies来模拟登录网站,用代码怎么实现

我们今天的关于如何使用Python登录网页并检索Cookie以供以后使用?python获取登录网站的cookie的分享就到这里,谢谢您的阅读,如果想了解更多关于c# – 如何保存ref变量供以后使用?、jQuery-如何在Django / Wagtail中检索cookie以设置Python变量、php – 存储重定向URL以供以后使用、python 爬虫 使用cookies自动登录的相关信息,可以在本站进行搜索。

本文标签: