Мой метод отправки сообщения на сервер с использованием C # .NET 4.0
private String postHTTP(String url)
{
String result = "";
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.Method = "POST";
string postData = "Data has Posted";
byte[] byteArray = Encoding.UTF8.GetBytes(postData);
**request.ContentType = "application/x-www-form-urlencoded";**
request.Credentials = System.Net.CredentialCache.DefaultCredentials;
request.ContentLength = byteArray.Length;
Stream dataStream = request.GetRequestStream();
dataStream.Write(byteArray, 0, byteArray.Length);
dataStream.Close();
WebResponse response = request.GetResponse();
txtWebServerStatus.Text = ((HttpWebResponse)response).StatusDescription;
dataStream = response.GetResponseStream();
StreamReader reader = new StreamReader(dataStream);
string responseFromServer = reader.ReadToEnd();
// Display the content.
Console.WriteLine(responseFromServer);
// Clean up the streams.
reader.Close();
dataStream.Close();
response.Close();
return responseFromServer;
}
Мой серверный код для предоставления формы для ввода и печати того, что вы печатаете в форме
from twisted.web.server import Site
from twisted.web.resource import Resource
from twisted.internet import reactor
from twisted.web.error import NoResource
import cgi
class DynamicPage(Resource):
def render_GET(self, request):
return '<html><body><form method="POST"><input name="the-field" type="text" /></form></body></html>'
def render_POST(self, request):
return '<html><body>You submitted: %s</body></html>' % (cgi.escape(request.args["the-field"][0]),)
root = Resource()
dynamic = DynamicPage()
root.putChild("fool", dynamic)
factory = Site(root)
reactor.listenTCP(7777, factory)
reactor.run()
Ошибка метода записи: в строке WebResponse response = request.GetResponse();
Удаленный сервер возвратил ошибку: (500) Внутренняя ошибка сервера.
При использовании метода записи возникает ошибка насервер:
C:\Users\sepdau>C:\Python27\python.exe E:\server.py
Unhandled Error Traceback (most recent call last):
File "C:\Python27\lib\site-packages\twisted\web\http.py", line 1349, in dataReceived finishCallback(data[contentLength:])
File "C:\Python27\lib\site-packages\twisted\web\http.py", line 1563, in _finishRequestBodyself.allContentReceived()
File "C:\Python27\lib\site-packages\twisted\web\http.py", line 1618, in allContentReceived req.requestReceived(command, path, version)
File "C:\Python27\lib\site-packages\twisted\web\http.py", line 773, in request Received self.process()
--- <exception caught here> ---
File "C:\Python27\lib\site-packages\twisted\web\server.py", line 132, in process
self.render(resrc)
File "C:\Python27\lib\site-packages\twisted\web\server.py", line 167, in render
body = resrc.render(self)
File "C:\Python27\lib\site-packages\twisted\web\resource.py", line 216, in render
return m(request)
**File "E:\server.py", line 25, in render_POST
return '<html><body>You submitted: %s</body></html>' % (cgi.escape(request.a
rgs["the-field"][0]),)
exceptions.KeyError: 'the-field'**
Я думаю, что ошибка на сервере или ContentType я использую не правильно.Вы можете мне помочь.Спасибо за продвижение.