好吧,显然 python 3 在 urllib 方面非常荒谬。
所以,我有一个像这样格式化的网址,
http_request = "http://localhost/system/index.php/index_file/store?cid={0}&cname={1}&fname={2}&fdir='{3}'"\
.format(client_id, client_name, each[1], each[2])
其中each[1]
和each[2]
分别是文件名和文件目录。
所以 http_request 通过 print() 生成的结果会给出这样的结果,
http://localhost/system/index.php/index_file/store? \
cid=90823&cname=John Smith&fname=Sample Document.doc& \
fdir='C:\Users\williamyang\Desktop\Files\90823 Michelle Moore\Sample Document.doc'
(单独的反斜杠的目的只是让它更适合这里。实际的代码在每行的末尾没有单独的反斜杠。)
如果我将该 URL 输入到浏览器中,那就太好了。PHP 应用程序通过 $_GET 接收所有索引,然后转到 MySQL,没有问题。
但如果我让python去做,
PHP 告诉我索引$_GET['fname']
并且$_GET['fdir']
不存在!!!多么疯狂。好吧,
我尝试了 urllib.parse、urllib 编码和解码、http_request.replace('\\', '/')
以及许多其他方面的所有内容。
这些都没有奏效。
我的教授曾经告诉我,python 在字符编码方面做了一些有趣的事情。
在所有疯狂和无用的 urllib 解析实验之前,这是我发送 URL 的方式
def getResponseCode(url):
conn = urllib.request.urlopen((url))
return conn.read()
在哪里url = http_request
我该如何解决这个问题?
PHP说不$_GET['fname'] and $_GET['fdir']
存在
但是当我将自动生成的 http_request 粘贴到浏览器中时,
一切都很好