Функция в программе делает запрос на сайт через прокси и на строке " web.Navigate(req.GetResponse().ToString()); " я получаю ошибку - "Section=ResponseStatusLine". Что с ней делать и что это вообще такое?
сам код функции:
WebProxy wp = new WebProxy("172.102.222.12:31477", true);
WebRequest req = WebRequest.Create("http://cad-lite.ru/");
req.Proxy = wp;
web.Navigate(req.GetResponse().ToString());
помогите по c#
Страница 1 из 1
#2
Отправлено 30 March 2016 - 16:59
Ошибка обозначает "Сервер нарушил протокол". Сервер просто не отвечает на твой запрос. Возможно ошибка в скрипте на сервере.
Просьба к Модераторам или администраторам!!!
Давным давно (в 2012) меня взломал один знакомый дурак и натворил дел на форуме, после чего мою учётку забанили.
Может ктонибудь восстановить мою учётную запись (Djocker)?
Просьба к Модераторам или администраторам!!!
Давным давно (в 2012) меня взломал один знакомый дурак и натворил дел на форуме, после чего мою учётку забанили.
Может ктонибудь восстановить мою учётную запись (Djocker)?
#4
Отправлено 31 March 2016 - 09:11
Djocker (тот самый), ошибка в каком-то определенном скрипте? и как можно по другому вывести страницу в браузер через заданный прокси?
#5
Отправлено 01 April 2016 - 16:49
Если тебе надо в программе получить (или отправить) некие данные с сайта, то это лучше делать через скрипт (.php) на сайте.
Вот пример тебе (если поможет) у меня с моего сайта с базы данных получается список игроков в базе (никнеймы и очки) и выводит в меню игры. (на дерективы и родительский класс внимания не обращай, это от Unity):
Принцип работы:
1) Программы делает запрос по адресу скрипта (тоже самое можно сделать и в браузере забив строку (http://www.physilabs....es/display.php в моём варианте)- если хочешь узнать как это работает читай про HTML).
2)Скрипт выполняет SQL запрос в базу данных (с сортировкой и ограничение по количеству записей)
3) Скрипт возвращает сообщение (которое также можно открыть в браузере при выполнении действия в скобочках в пункте 1)
C# скрипт
using UnityEngine;
using System.Collections;
using System.Text;
public class Client_Server : MonoBehaviour
{
public enum messages { error, nickname, OK };
public delegate void SimpleDelegate(string message, messages mess);
public event SimpleDelegate GetScor;
public string highscoreUrl = "http://ТВОЙ_САЙТ_И_КАТАЛОГ_ЕСЛИ_НЕ_В_КОРНЕ/display.php";
IEnumerator getScores()
{
WWW hs_get = new WWW(highscoreUrl); //запрос к скрипту
yield return hs_get; // ждём получения результата
if (GetScor != null) // это событие (другие скрипты подписываются на него - это как у кнопки .click)
{
if (hs_get.error != null)
GetScor("Ошибка: " + hs_get.error, messages.error); // если ошибка то отправляем сообщения с пометкой ошибки
else
GetScor(hs_get.text, messages.OK); // если нет ошобок то ОК
}
hs_get.Dispose();
}
public void GetScores()
{
StartCoroutine(getScores()); // StartCoroutine чисто unityвская приблуда
}
}
PHP скрипт display.php
<?php
$db = mysqli_connect('ХОСТИН_С_БАЗОЙ_ДАННЫХ', 'ИМЯ_ПОЛЬЗОВАТЕЛЯ_КОТОРЫЙ_ИМЕЕТ_ДОСТУП_К_БД', 'ПАРОЛЬ') or die(mysqli_error($db)); // подключаемся к БД
mysqli_select_db($db, 'НАЗВАНИЕ_БД') or die(mysqli_error($db)); // выбираем базу
$query = "SELECT nickname, score FROM `scores` ORDER by `score` DESC LIMIT 20"; // строка запроса
$result = mysqli_query($db, $query) or die(mysqli_error($db)); // сам запрос
$num_results = mysqli_num_rows($result); // подсчёт количества позвращённых строк
for($i = 0; $i < $num_results; $i++)
{
$row = mysqli_fetch_array($result);
echo $row['nickname'] . "\t" . $row['score'] . "\n"; // вывод
}
?>
Думаю будет полезно, если те но, что ты хотел, то опиши проблему подробней
Вот пример тебе (если поможет) у меня с моего сайта с базы данных получается список игроков в базе (никнеймы и очки) и выводит в меню игры. (на дерективы и родительский класс внимания не обращай, это от Unity):
Принцип работы:
1) Программы делает запрос по адресу скрипта (тоже самое можно сделать и в браузере забив строку (http://www.physilabs....es/display.php в моём варианте)- если хочешь узнать как это работает читай про HTML).
2)Скрипт выполняет SQL запрос в базу данных (с сортировкой и ограничение по количеству записей)
3) Скрипт возвращает сообщение (которое также можно открыть в браузере при выполнении действия в скобочках в пункте 1)
C# скрипт
using UnityEngine;
using System.Collections;
using System.Text;
public class Client_Server : MonoBehaviour
{
public enum messages { error, nickname, OK };
public delegate void SimpleDelegate(string message, messages mess);
public event SimpleDelegate GetScor;
public string highscoreUrl = "http://ТВОЙ_САЙТ_И_КАТАЛОГ_ЕСЛИ_НЕ_В_КОРНЕ/display.php";
IEnumerator getScores()
{
WWW hs_get = new WWW(highscoreUrl); //запрос к скрипту
yield return hs_get; // ждём получения результата
if (GetScor != null) // это событие (другие скрипты подписываются на него - это как у кнопки .click)
{
if (hs_get.error != null)
GetScor("Ошибка: " + hs_get.error, messages.error); // если ошибка то отправляем сообщения с пометкой ошибки
else
GetScor(hs_get.text, messages.OK); // если нет ошобок то ОК
}
hs_get.Dispose();
}
public void GetScores()
{
StartCoroutine(getScores()); // StartCoroutine чисто unityвская приблуда
}
}
PHP скрипт display.php
<?php
$db = mysqli_connect('ХОСТИН_С_БАЗОЙ_ДАННЫХ', 'ИМЯ_ПОЛЬЗОВАТЕЛЯ_КОТОРЫЙ_ИМЕЕТ_ДОСТУП_К_БД', 'ПАРОЛЬ') or die(mysqli_error($db)); // подключаемся к БД
mysqli_select_db($db, 'НАЗВАНИЕ_БД') or die(mysqli_error($db)); // выбираем базу
$query = "SELECT nickname, score FROM `scores` ORDER by `score` DESC LIMIT 20"; // строка запроса
$result = mysqli_query($db, $query) or die(mysqli_error($db)); // сам запрос
$num_results = mysqli_num_rows($result); // подсчёт количества позвращённых строк
for($i = 0; $i < $num_results; $i++)
{
$row = mysqli_fetch_array($result);
echo $row['nickname'] . "\t" . $row['score'] . "\n"; // вывод
}
?>
Думаю будет полезно, если те но, что ты хотел, то опиши проблему подробней
Поделиться темой:
Страница 1 из 1