Как спарсить?Вот это [Ссылки могут видеть только зарегистрированные пользователи. ]
Например "exp":"0" Не где не нашол Не понемаю как выташить с ковычек
Последний раз редактировалось danil7496; 12.09.2012 в 21:21.
Что сложного спарсить от "hp":" до ","mp":" ?
Извини, код на С# не могу дать, но если хочешь: VB.net
Функция парса.
Код:
Public Function Pars(ByRef strSource As String, ByRef strStart As String, ByRef strEnd As String, Optional ByRef startPos As Integer = 0) As String
Dim iPos As Integer, iEnd As Integer, lenStart As Integer = strStart.Length
Dim strResult As String
strResult = String.Empty
iPos = strSource.IndexOf(strStart, startPos)
iEnd = strSource.IndexOf(strEnd, iPos + lenStart)
If iPos <> -1 AndAlso iEnd <> -1 Then
strResult = strSource.Substring(iPos + lenStart, iEnd - (iPos + lenStart))
End If
Return strResult
End Function
Ставим на код кнопки.
Код:
Dim WC As New WebClient
Dim source, result As String
source = WC.DownloadString("http://supernatural.nospoon.ru/script.php?action=get_user&viewer_id=0")
result = Pars(source, "hp":", ","mp":")
label1.text = result
________________
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
static void Main (string[] args)
{
var request = (HttpWebRequest) HttpWebRequest.Create ("http://supernatural.nospoon.ru/script.php?action=get_user&viewer_id=0");
var match = Regex.Match (new StreamReader (request.GetResponse().GetResponseStream(), Encoding.UTF8).ReadToEnd(), "\"exp\":\"(\\d*)\"");
Console.WriteLine(match.ToString().Substring(7).Trim('\"'));
Console.ReadLine();
}
целых 4 строки
Последний раз редактировалось Буянь; 12.09.2012 в 11:19.
static void Main (string[] args)
{
var request = (HttpWebRequest) HttpWebRequest.Create ("http://supernatural.nospoon.ru/script.php?action=get_user&viewer_id=0");
var match = Regex.Match (new StreamReader (request.GetResponse().GetResponseStream(), Encoding.UTF8).ReadToEnd(), "\"exp\":\"(\\d*)\"");
Console.WriteLine(match.ToString().Substring(7).Trim('\"'));
Console.ReadLine();
}
целых 4 строки
Спс тебе теперь надо сооброзить куда это вставить что бы использовать на форме
Последний раз редактировалось danil7496; 12.09.2012 в 17:34.
Ну это уже перебор.
Добавляешь label на форму, добавляешь кнопку. Нажимаешь на кнопку 2 раза и вставляешь код:
Код:
var request = (HttpWebRequest) HttpWebRequest.Create ("http://supernatural.nospoon.ru/script.php?action=get_user&viewer_id=0");
var match = Regex.Match (new StreamReader (request.GetResponse().GetResponseStream(), Encoding.UTF8).ReadToEnd(), "\"exp\":\"(\\d*)\"");
label1.Text = match.ToString().Substring(7).Trim('\"');
Ну это уже перебор.
Добавляешь label на форму, добавляешь кнопку. Нажимаешь на кнопку 2 раза и вставляешь код:
Код:
var request = (HttpWebRequest) HttpWebRequest.Create ("http://supernatural.nospoon.ru/script.php?action=get_user&viewer_id=0");
var match = Regex.Match (new StreamReader (request.GetResponse().GetResponseStream(), Encoding.UTF8).ReadToEnd(), "\"exp\":\"(\\d*)\"");
label1.Text = match.ToString().Substring(7).Trim('\"');
Спасибо я сделал так он пишет ошибку Ни одна из перегрузок метода "Create" не принимает "2" аргументов
Что нужно Сделать
Можно я внесу свои 5 копеек? Это же обычный json, почему же его и не потрошить как джисон?
using System;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Net;
using System.Web.Script.Serialization;
namespace WindowsFormsApplication2
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
string text = post("http://supernatural.nospoon.ru/script.php?", "action=get_user&" + "viewer_id=" + this.textBox3.Text + "&auth_key=" + this.textBox1.Text);
var deserializer = new JavaScriptSerializer();
var any2 = deserializer.Deserialize<Anything>(text);
richTextBox1.AppendText(any2.data.mp.ToString() +"\r\n");
richTextBox1.AppendText(any2.data.hp.ToString() + "\r\n");
}
private string post(string uri, string req)
{
string s = req;
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(uri);
request.UserAgent = "Opera/9.80";
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";
byte[] bytes = Encoding.ASCII.GetBytes(s);
request.ContentLength = bytes.Length;
request.GetRequestStream().Write(bytes, 0, bytes.Length);
request.GetRequestStream().Close();
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
return new StreamReader(response.GetResponseStream(), Encoding.UTF8).ReadToEnd();
}
}
[Serializable]
public class Anything
{
public Data data;
}
[Serializable]
public class Data
{
public int hp { get; set; }
public int mp { get; set; }
}
}
Красным добавлена моя отсебятина... И можно без особых проблем вытаскивать любые данные...