Я работаю над хобби-проектом, за аутентификацией стоит этот веб-сайт, который позволяет мне создавать рекламные материалы для продуктов (цена, цена продажи, название и т. Д.). Я хочу создать способ автоматизации этого процесса, используя данные из базы данных MySQL и передачи его на сайт автоматически. Я могу читать данные из БД без проблем, но я застрял при отправке запроса POST на веб-сайт.
Сайт выглядит так:
Сайт для изготовления рекламных материалов (на голландском языке)
Я использовал wireshark, чтобы выяснить, что происходит, когда вы нажимаете кнопку отправки ("voorbeeld tonen"), а данные http огромны ... Я прикрепил файл wireshark, чтобы вы могли увидеть его сами, в основном это в том числе много параметров.
Это код, который я использую для отправки данных:
private void SendPost()
{
string url = "http://emte20.bek.nl/nl/publicationvariants/62422/refresh";
using (var wb = new WebClient())
{
var data = new NameValueCollection();
data["field[__PRODUCTnaam__#!#value]"] = "myUser";
data["field[__PRODUCTomschrijving__#!#value]"] = "myPassword";
var response = wb.UploadValues(url, "POST", data);
string responseInString = Encoding.UTF8.GetString(response);
richTextBox1.Text = responseInString;
}
}
когда я пытаюсь выполнить функцию, она просто выдает ошибку 422:
> System.Net.WebException
HResult=0x80131509
Message=De externe server heeft een fout geretourneerd: (422) Unprocessable Entity.
Source=System
StackTrace:
at System.Net.WebClient.UploadValues(Uri address, String method, NameValueCollection data)
at System.Net.WebClient.UploadValues(String address, String method, NameValueCollection data)
at StoreManager.dbmanagerform.SendPost() in C:\Users\joep\source\repos\StoreManager\StoreManager\DBmanager.cs:line 43
at StoreManager.dbmanagerform.DBmanager_Load(Object sender, EventArgs e) in C:\Users\joep\source\repos\StoreManager\StoreManager\DBmanager.cs:line 29
at System.Windows.Forms.Form.OnLoad(EventArgs e)
at System.Windows.Forms.Form.OnCreateControl()
at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
at System.Windows.Forms.Control.CreateControl()
at System.Windows.Forms.Control.WmShowWindow(Message& m)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
at System.Windows.Forms.Form.WmShowWindow(Message& m)
at System.Windows.Forms.Form.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
Если вам нужна дополнительная информация, пожалуйста, дайте мне знать, потому что я застрял. Я попытался изменить URL-адрес просто emte20.bek.nl, но это возвращает 404
Вот файл wireshark: ссылка на файл file.io