http — чтение из pastebin в переполнении стека

Я создаю небольшой сценарий для xbox 360 с использованием c ++, и поэтому я не могу использовать какие-либо библиотеки, такие как libcurl, для чтения веб-сайта, и мне было интересно, если кто-нибудь из вас, ребята, узнает, как я могу кодировать этот кусок кода C #:

public static string[] readFromPaste(string string_3)
{
StreamReader reader = new StreamReader(WebRequest.Create(string_3).GetResponse().GetResponseStream());
string str = reader.ReadLine();
string[] strArray = new string[0xff];
for (int i = 0; (str = reader.ReadLine()) != null; i++)
{
string[] strArray2 = str.Split(Environment.NewLine.ToCharArray());
strArray[i] = strArray2[0];
}
return strArray;
}

в C ++ без используя какие-либо библиотеки, такие как libcurl? Я знаю, что это возможно, я просто не могу понять это! Любая помощь очень ценится, так как я так долго зацикливался на том, как читать веб-сайт на c ++ по сценарию xbox!

-4

Решение

введите описание изображения здесь

Консольное приложение C ++. Net / CLI:

Вы на правильном пути с StreamReader(), Я сделал две версии решения, используя StreamReader(),

Версия первая: этот код открывает WebClient() а затем передает данные через него в StreamReader() и сохраняет результат построчно в массиве индексированных строк.

#include "stdafx.h"
#using <System.dll>

using namespace System;
using namespace System::Net;
using namespace System::IO;

int main()
{
array<String^>^ linefrompastebin = gcnew array<String^>(100000);
int i = 0;
int maxLines = 0;

String^  url = "http://pastebin.com/f7KKzVyf";
WebClient^ client = gcnew WebClient;
Stream^ data = client->OpenRead(url);

Console::WriteLine("Reading HTML at :  " + url + " \n\n");
Stream^ stream = client->OpenRead(url);
StreamReader^ reader = gcnew StreamReader(data);

linefrompastebin[0] = "";

//Store lines from HTML into string
while ((linefrompastebin[i] = reader->ReadLine()) != nullptr){
i++;
}
maxLines = i;

for (i = 0; i < maxLines; i++){
Console::WriteLine("Line " + i + " = " + linefrompastebin[i]);
}

Console::WriteLine("\n\n");
Console::ReadLine();

return 0;
}

Версия вторая:
Этот код открывает WebClient() а затем передает данные через него в StreamReader() и сохраняет результат только в одном строковом объекте, а не в строковом массиве.

#include "stdafx.h"
#using <System.dll>

using namespace System;
using namespace System::Net;
using namespace System::IO;
int main()
{

WebClient^ WebBrowserClient = gcnew WebClient;
String^  url = "http://pastebin.com/f7KKzVyf";
WebBrowserClient->Headers->Add("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)");
Stream^ data = WebBrowserClient->OpenRead(url );
StreamReader^ reader = gcnew StreamReader(data);
String^ s = reader->ReadToEnd();
Console::WriteLine(s);
data->Close();
reader->Close();

Console::ReadLine();
}
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]