-4

我正在使用 c++ 为 xbox 360 创建一个小脚本,所以我不能使用任何像 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 这样的库?我知道有可能我只是想不通!非常感谢任何帮助,因为我一直坚持如何在 xbox 脚本上使用 c++ 阅读网站这么久!

4

1 回答 1

0

在此处输入图像描述

C++.Net/CLI 控制台应用程序:

你在正确的轨道上StreamReader()。我使用StreamReader().

版本一:此代码打开 aWebClient()然后将数据通过管道传输到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;
}

版本二:此代码打开 aWebClient()然后将数据通过管道传输到其中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();
}
于 2016-08-05T11:51:53.903 回答