【问题标题】:Python Detect Url change?Python检测网址更改?
【发布时间】:2014-10-02 20:38:58
【问题描述】:

我正在创建一个连接到 wordpress 并检测登录是否不正确的脚本,我不喜欢“如果包含”方法,所以我尝试使用它: 当您在 wordpress 站点中访问此 url 时:http://www.example.com/blog/wp-admin/profile.php 如果组合正确,则您可以正常访问该页面,如果不是重定向到此的 url:

http://www.example.com/blog/wp-login.php?redirect_to=http%3A%2F%2Fwww.example.com%2Fblog%2Fwp-admin%2Fprofile.php&reauth=1

所以我尝试了这段代码来验证 http 响应(300、301 ..),但它总是给出 200 响应..

import urllib, urllib2, os, sys, requests , re
from time import sleep
from threading import Thread

url='http://www.example.com/blog/wp-login.php'

headers = [
  ("User-Agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_4) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.46 Safari/536.5")]

data = [
    ("log","user"), 
    ("pwd","password"), 
    ("testcookie",1), 
    ("submit","Log In"), 
    ("redirect_to","http://www.example.com/blog/wp-login.php"), 
    ("rememberme","forever")]
#this is the first methode : 
req = urllib2.Request(url, urllib.urlencode(dict(data)), dict(headers))
response = urllib2.urlopen(req)
the_page=response.read()
print the_page
#this is the seconde methode :
get3 = requests.get('http://www.example.com/blog/wp-admin/profile.php')
print get3.text

检测 url 变化的任何想法:http://www.example.com/blog/wp-admin/profile.php 到:

http://www.example.com/blog/wp-login.php?redirect_to=http%3A%2F%2Fwww.example.com%2Fblog%2Fwp-admin%2Fprofile.php&reauth=1

或者任何帮助我完成脚本的东西,这将非常有帮助,非常感谢。 :)

【问题讨论】:

    标签: python wordpress http url


    【解决方案1】:

    有一个名为 Requests 的 3rd 方模块,它比内置的 python urllib 东西更简单。在这里查看:http://docs.python-requests.org/en/latest/user/quickstart/#redirection-and-history

    以下内容来自链接。注意第一个url是用get请求的,但是重定向的url可以从r.url得到(一个是http,重定向是https)

    >>> r = requests.get('http://github.com')
    >>> r.url
    'https://github.com/'
    >>> r.status_code
    200
    >>> r.history
    [<Response [301]>]
    

    用你的网址试试这段代码(显然不是'example.com'),看看它会产生什么

    【讨论】:

    • 是的,我以前用过,但我不知道如何解决我的问题,无论如何谢谢:)
    猜你喜欢
    • 2011-09-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-22
    • 2017-09-12
    • 2011-08-27
    相关资源
    最近更新 更多