Итак, я работаю над проектом, который позволит снова выпустить 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
Как исправить создание моего билета на сервере? [закрыто] ⇐ C#
Место общения программистов C#
-
Anonymous
1719670966
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;
}
}
}
Подробнее здесь: [url]https://stackoverflow.com/questions/78686027/how-to-fix-my-ticket-creation-for-server[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия