远程服务器返回错误:(500)Internal Server Error。 GetRequest()C# - c#

我试图自己解决这个问题,但是我找不到任何有用的解决方案。我想向网站发送请求并获取处理后的结果。我已经对此有疑问(请参见How do I fill in a website form and retrieve the result in C#?),但是我能够使用此处所述的网站解决此问题。现在,我尝试使用以下代码访问另一个网站(http://motif-x.med.harvard.edu/motif-x.html):

ServicePointManager.Expect100Continue = false;

HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://motif-x.med.harvard.edu/cgi-bin/multimotif-x.pl");
request.Credentials = CredentialCache.DefaultCredentials;
request.ProtocolVersion = HttpVersion.Version10; // Motif-X uses HTTP 1.0
request.KeepAlive = false;
request.Method = "POST";
string motives = "SGSLDSELSVSPKRNSISRTH";
string postData = "fgdata=" + motives + "&fgcentralres=S&width=21";
byte[] byteArray = Encoding.UTF8.GetBytes(postData);
request.ContentType = "multipart/form-data";
request.ContentLength = byteArray.Length;
Stream dataStream = request.GetRequestStream();
dataStream.Write(byteArray, 0, byteArray.Length);
dataStream.Close();

WebResponse response = request.GetResponse();

这给了我以下例外:

远程服务器返回错误:(500)Internal Server Error。

您有什么办法可以防止这种情况发生?

如果您想手动输入站点:

数据集的文本区域:SGSLDSELSVSPKRNSISRTH

中心字符(在基本选项中):S

您将被重定向到结果的网站-可能需要一段时间才能处理。那真的是例外的原因吗?

参考方案

如果查看documentation,您会发现对于“ multipart / form-data”,发送数据“ POST”与“ application / x-www-form-urlencoded”有很大不同。对于您的情况,您将必须发送以下内容:

内容类型:

Content-Type: multipart/form-data; boundary=---------------------------7db1af18b064a

开机自检:

-----------------------------7db1af18b064a
Content-Disposition: form-data; name="fgdata"

SGSLDSELSVSPKRNSISRTH
-----------------------------7db1af18b064a
Content-Disposition: form-data; name="fgcentralres"

S
-----------------------------7db1af18b064a
Content-Disposition: form-data; name="width"

21
-----------------------------7db1af18b064a--

这些链接可以帮助您发送此数据格式,但是在您的情况下,应避免发送文件:

POSTING MULTIPART/FORM-DATA USING .NET WEBREQUEST

http://www.groupsrv.com/dotnet/about113297.html

使用一些HTTP分析器,您可以检查此简单HTML代码的发送数据

<html>
<body>
<form action="http://motif-x.med.harvard.edu/cgi-bin/multimotif-x.pl" enctype="multipart/form-data" method="post">
   <input type="text" name="fgdata" value="SGSLDSELSVSPKRNSISRTH" /><br />
   <input type="text" name="fgcentralres" value="S" /><br />
   <input type="text" name="width" value="21" /><br />

   <input type="submit" value="Send" />
 </form>
</body>
</html>

带有reCAPTCHA v2的ajax,jquery联系人表单-500 Internal Server Error - javascript

我有一个jquery / ajax联系表单,并尝试添加Google reCAPTCHA v2,但无法正常工作。在加入reCAPTCHA之前,该表格已经奏效。 reCAPTCHA出现了(尽管需要花费很多时间才能加载),并且我可以验证自己不是机器人(也需要花费很多时间),但是当我单击“提交”按钮时,会显示状态消息的位置包括代码在内的文本:<!DOCTYPE…

休眠还是Application Server JPA? - java

我在生产中使用Glassfish,在测试中使用OpenEJB。我正在使用JPA 1.0。我使用的是Hibernate,但没有特定的Hibernate功能,只有标准的JPA。休眠在这个集合中是多余的,应该删除,对吗? java参考方案 OpenEJB和Glassfish均提供JPA实现。因此,要运行您的应用程序,您不需要休眠。但是,在某些特殊情况下,JPA实现…

将App部署到实时服务器时出现500 Internal Server error - c#

我的ASP.Net Web应用程序在其中一个页面上上传了一个简单的Ajax文件,该文件在测试时可以在本地主机上正常运行,但是当我将其发布到网站时,出现500 Internal Server错误。以下是Google chrome控制台上的输出:POST http://switchclothing.andrewmwest.co.uk/StoreManager/U…

数学和科学方程式和Fomulas的数​​据类型-SQL Server 2008? - c#

我正在使用SQL Server2008。我有一个用于教育部门工作的小项目。为此,我需要存储数学和科学方程式和公式。这意味着数据可能包含带有上标和下标的值。我希望以相同的格式保存数据。是否有适合我需求的适当数据类型? 参考方案 如果此列专门用于存储数学方程式和科学公式,那么我将使用Xml列,然后将数据存储在MathML format中。文字段落,例如说明,可以…

如何在pyodbc输出转换器函数中解压缩SQL Server DATETIME? - python

我将输出转换器添加到pyodbc连接对象,以处理从SQL Server返回的日期类型。我能够使用以下命令解压缩datetime.time结构:tuple = struct.unpack("HHHI", dateObj) 效果很好。我无法弄清楚datetime.datetime对象的秘密之处,根据pyodbc文档,它是TIMESTAMP_S…