如何使用urllib2在Python中单独发送cookie

时间:2019-04-04 18:33:12

标签: cookies urllib2

我试图将多个cookie发送到一个URL,直到找到正确的cookie,而且我不知道为什么我当前的代码不起作用

我查看了将cookie发送到url的现有答案,但在我看来,这些答案都不起作用 代码中的注释是该任务的说明

    # Write a script that can guess cookie values
    # and send them to the url http://127.0.0.1:8082/cookiestore
    # Read the response from the right cookie value to get the flag.
    # The cookie id the aliens are using is alien_id
    # the id is a number between 1 and 75 


    import urllib2

    req = urllib2.Request('http://127.0.0.1:8082/cookiestore')
    for i in range(75):
      req.add_header('alien_id', i)
      response = urllib2.urlopen(req)
      html = response.read()  
      print(html)

我希望其中一个迭代会打印出一些不同的东西,但是它们都是相同的

2 个答案:

答案 0 :(得分:1)

此代码是Python 3.8,因为不再支持Python 2.7,并且您的req.add_header行确实需要进行修改。这是您的解决方案:

import urllib.request

url = "http://127.0.0.1:8082/cookiestore"
y = 5

for i in range(75):
 request = urllib.request.Request(url)
 request.add_header("Cookie", "alien_id = "+str(i))
 response = urllib.request.urlopen(request)
 responseStr = str(response.read().decode("utf-8"))
 print(responseStr)

如果您仍在使用Python 2.7,则只需复制request.add_header行。 干杯!

答案 1 :(得分:0)

我看到的阿哈哈网络发现;) 您非常亲密,实际上我使用您的代码作为我的基础,除了添加标题行。 不知道您是否仍然需要知道但生病了,请留在这里

当您发送Cookie作为标题时,您将其发送为:

req.add_header('Cookie', 'cookiename=cookievalue')

希望这会有所帮助:D