Как исправить создание моего билета на сервере? [закрыто]C#

Место общения программистов C#
Ответить
Anonymous
 Как исправить создание моего билета на сервере? [закрыто]

Сообщение Anonymous »

Итак, я работаю над проектом, который позволит снова выпустить Grand Theft Auto 5 онлайн на PS3. На данный момент я все настроил правильно, у меня только одна проблема... Создание билета, почему-то оно работает неправильно, и без моей аутентификации, которая делает то, что нужно, я не могу выйти в Интернет и протестировать свои вещи. Кто-нибудь может помочь?
Я спросил всех своих друзей, которые что-то знали о кодировании на C#, я даже спросил ChatGPT, никто не смог мне помочь. Дело в том, что я ничего не знаю о C#, поэтому надеюсь, что вы, ребята, сможете мне помочь и, возможно, сказать, что мне нужно изменить. Мой код ответа HTTP в порядке, auth.asmx просто закодирован неправильно, поэтому мне нужна помощь с этим. Я не знаю, как закодировать auth.asmx, чтобы получить правильный ответ, возможно, это как-то связано с фрагментированными данными, но я не знаю, вот фрагментированные данные:
Protocols in frame: eth:ip:tcp:http:data:data:data:data:data-text-lines
Frame Length: 60 bytes (480 bits)
Header length: 20 bytes
Destination port: http (80)
Flags: 0x018 (PSH, ACK)
POST /gta5/11/gameservices/ProfileStats.asmx/WriteStats HTTP/1.1\r\n
HOST:prod.ros.rockstargames.com\r\n
CONTENT-TYPE: application/x-www-form-urlencoded; charset=utf-8\r\n
TRANSFER-ENCODING: chunked\r\n

Я знаю, как правильно отправлять данные, но не знаю, как правильно закодировать аутентификацию, чтобы получить правильный ответ.
using System;
using System.IO;
using System.Net;
using System.Text;
using System.Xml.Linq;
using RSG.Base.Configuration.ROS;

namespace RSG.ROS
{
public abstract class auth : ROSService
{
public AuthenticationService(IROSConfig config)
: base(config)
{
}

public XElement CreateTicketNp2(string username, string password, string title, string npOnlineId)
{
XElement result = null;

try
{
// Construct the POST data
string postData = $"username={username}&password={password}&titleName={title}&platformName={ROSPlatform.PS3}&version={Version}&npOnlineId={npOnlineId}";

// Create the HTTP request
HttpWebRequest request = (HttpWebRequest)WebRequest.Create($"{ServiceUri.ToString()}/CreateTicketNp2");
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";
request.ContentLength = postData.Length;

// Write POST data to the request stream
using (Stream dataStream = request.GetRequestStream())
{
byte[] byteArray = Encoding.UTF8.GetBytes(postData);
dataStream.Write(byteArray, 0, byteArray.Length);
}

// Get the HTTP response
using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
using (Stream responseStream = response.GetResponseStream())
{
if (responseStream != null)
{
XDocument xDoc = XDocument.Load(responseStream);
result = xDoc.Root;
}
}
}
catch (Exception ex)
{
// Handle or log the exception if needed
Console.WriteLine($"An error occurred while creating ticket: {ex.Message}");
}

return result;
}
}
}


Подробнее здесь: https://stackoverflow.com/questions/786 ... for-server
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»