Nabend :)
versuche seit Gestern ein Postman Request nachzubauen mit dem HttpClient, den ich über den Proxy von einer Anwendung abgefangen habe. (POST Request)
Der Request lädt eine Datei hoch.
Anbei ein Foto von Postman mit den ganzen Request Headers.
Und hier der raw Body vom Request:
Code: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
|
----------010521174505517
Content-Disposition: form-data; name="sess_id"
aravtx27odgrsoba
----------010521174505517
Content-Disposition: form-data; name="file"; filename="testfile.txt"
Content-Type: application/octet-stream
****file content****
----------010521174505517-- |
|
Die Authentication läuft über die "sess_id".
In der API Doku steht nur das (und der Support schreibt nur Einzeiler als Antwort)
Endpoint
https://api-v2.ddownload.com/api/upload/server?key=key
Parameters
key : String : API key Example: 1hj124iod23j12gd3
Response
C#-Code: |
{
"msg": "OK",
"server_time": "2017-08-11 04:29:54",
"status": 200,
"result": "https:
}
|
Mein Code ist wie folgt:
C#-Code: |
Service service = new("api key", null);
using FileStream fs = File.Open(@"C:\Users\User\Downloads\testfile.txt", FileMode.Open, FileAccess.Read);
Result<string> result = await service.GetServerUrlAsync();
string boundary = "--------" + DateTime.Now.Ticks.ToString("x");
StreamContent sc = new(fs);
sc.Headers.ContentType = new("application/octet-stream");
MultipartFormDataContent content = new(boundary)
{
{ new StringContent(result.SessionId), "sess_id" },
{ sc, "file", "test.dat" }
};
content.Headers.ContentType = new("multipart/form-data");
try
{
HttpResponseMessage response = await service.Client.PostAsync(result.Response, content);
string responseString = await response.Content.ReadAsStringAsync();
}
catch (Exception ex)
{
}
|
Service: Erstellt einen default HttpClient.
service.GetServerUrlAsync(): ruft die oben angegeben Endpoint Adresse auf, wo ich als response die Session ID und die URL zum hochladen bekomme.
Response hat einen 200er.
Im Content steht nur:
Code: |
1:
|
<h1>Internal Server Error</h1>\n<p>The server encountered an internal error or\nmisconfiguration and was unable to complete\nyour request.</p> |
|
Übersehe ich etwas? Oder fehlt irgendetwas, was man bei dem Request nicht sieht?
Grüße
duesmannr
Duesmannr hat dieses Bild (verkleinerte Version) angehängt:

Volle Bildgröße