Are you familiar with asynchronous programming? Networking is asynchronous. When you call QNetworkAccessManager::get(), it starts downloading. However, it doesn't wait for the download to finish. Instead, QNetworkAccessManager and QNetworkReply WILL emit the finished() signal when the download finishes. So, you can read the downloaded data from inside the connected slot.

Is that readAll will print the information out?
Or i have to using qDebug to print it out?

readAll() gives you the data in a QByteArray. It doesn't print anything. Do you know how to use QByteArray?

@JKSH
Is that you mean i have to add this QFile function in the replyFinisheed() slot?
Or i have to do it when the finished signal is up?
If it is how can i judge the signal and where do i have to add the function in?

For the first of debugging and testing.
I will get this on my browser. here

For the second one, i'm not quite sure what does that mean.

For third one, what does"QNetworkRequest constructly correctly"mean?
I thought i am using the library that Qt have already constructed.

For forth one, I'm sure i am on the same subnet because i can send this commend to my console

@JKSH already said several times that you have to do it in the slot connected to the finished() signal. So, yes do it in when you get finished() signal.
To your code: you call readAll twice - that is probably the reason why qDebug() << out; prints nothing. You should call readAll only once and then print the data.

@jsulm
Thank you for telling me!
But now i still get nothing.
I had check several time that i can wget the Url on the console.
And i'm sure it is the right subnet and Url.
And i checked the check.txt file can be write nor read.
Why it still print NULL out?

@victor-wang The problem isn't that for loop is too fast (how could it be too fast?).
Starting with case one you have:

reply->isFinished();

How do you initialize reply? Most probably it is not initialized and you're dereferencing dangling pointer.
Second question: why do you call isFinished() on reply? isFinished() is a getter method which you can use to check whether the reply is finished or not. But you do not use its return value, so the call is completely useless.
In general: if your app is crashing you should first debug it before asking in a forum.
So, please remove that useless reply->isFinished(); and debug your code to see where exactly it is crashing and why.

@J.Hilk
Is that mean that i have to connect IsFinished signal and getUrlData slot in the replyFinished() slot?
What is that mean put in the QList?
There is no IsFinished () signal for reply, just have finished signal.