urllib.request не работает на urlopen - PullRequest
0 голосов
/ 16 февраля 2019

Я написал код, который отправляет значения из python3 в php, но я получаю ошибки типа

Python\Python37-32\lib\urllib\request.py", line 222, in urlopen
    return opener.open(url, data, timeout)
Python\Python37-32\lib\urllib\request.py", line 523, in open
    req = meth(req)
Python\Python37-32\lib\urllib\request.py", line 1247, in do_request_
    raise TypeError(msg)
TypeError: POST data should be bytes, an iterable of bytes, or a file object. It cannot be of type str.

import urllib
import urllib.request
val=[('a','1'),('b','2')]   
val=urllib.parse.urlencode(val)
url='http://localhost:8080/new.php' 
req=urllib.request.Request(url, val)
req.add_header("Content-type", "application/x-www-form-urlencoded")
page = urllib.request.urlopen(req)
p1=page.read()

Это должно отправить значение a и b в php-код new.php

<?php
 $data["name"]= $_POST['one'];
 $data["nme"]= $_POST['two'];

file_put_contents("filename.txt", $data);
?>
...