当前位置:  开发笔记 > 编程语言 > 正文

python登录论坛

如何解决《python登录论坛》经验,为你挑选了1个好方法。

我写这篇文章试图登录论坛(phpBB3).

import urllib2, re
import urllib, re
logindata = urllib.urlencode({'username': 'x', 'password': 'y'})
page = urllib.urlopen("http://www.woarl.com/board/ucp.php?mode=login"[logindata])
output = page.read()

然而,当我运行它时,它会出现;

Traceback (most recent call last):
  File "C:/Users/Mike/Documents/python/test urllib2", line 4, in 
    page = urllib.urlopen("http://www.woarl.com/board/ucp.php?mode=login"[logindata])
TypeError: string indices must be integers

关于如何解决这个问题的任何想法?

编辑

在字符串和数据之间添加逗号会产生此错误

Traceback (most recent call last):
  File "C:/Users/Mike/Documents/python/test urllib2", line 4, in 
    page = urllib.urlopen("http://www.woarl.com/board/ucp.php?mode=login",[logindata])
  File "C:\Python25\lib\urllib.py", line 84, in urlopen
    return opener.open(url, data)
  File "C:\Python25\lib\urllib.py", line 192, in open
    return getattr(self, name)(url, data)
  File "C:\Python25\lib\urllib.py", line 327, in open_http
    h.send(data)
  File "C:\Python25\lib\httplib.py", line 711, in send
    self.sock.sendall(str)
  File "", line 1, in sendall
TypeError: sendall() argument 1 must be string or read-only buffer, not list

EDIT2

我把代码从原来改变了;

import urllib2, re
import urllib, re
logindata = urllib.urlencode({'username': 'x', 'password': 'y'})
page = urllib2.urlopen("http://www.woarl.com/board/ucp.php?mode=login", logindata)
output = page.read()

这不会抛出任何错误消息,它只给出3个空行.这是因为我试图从登录页面读取,登录后消失.如果是这样,我如何让它显示登录后应该出现的索引.



1> Eli Courtwri..:

你的路线

page = urllib.urlopen("http://www.woarl.com/board/ucp.php?mode=login"[logindata])

在语义上是无效的Python.大概是你的意思

page = urllib.urlopen("http://www.woarl.com/board/ucp.php?mode=login", [logindata])

其中有一个逗号分隔参数.但是,你真正想要的只是简单

page = urllib2.urlopen("http://www.woarl.com/board/ucp.php?mode=login", logindata)

没有尝试将logindata封装到列表中,并且使用urlopen的更新版本是urllib2库.

推荐阅读
落单鸟人
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有