[SOLVED] Свой C# взятый из переменной

  • Автор темы Автор темы Tuw
  • Дата начала Дата начала

Tuw

Client
Регистрация
07.09.2014
Сообщения
441
Реакции
150
Баллы
43
Что не так?) Пытаюсь выполнить C# код взятый из переменной по умолчанию, но не выходит ничего
FHBq4hq.jpg
 
Лол, заменил project.Variables["csource"].Value на {-Variable.csource-} работает:D
 
компиляция кода идет до начала выполнения проекта
если вы делаете таким образом то никаких пермеенных значений в коде не будет просто
 
  • Спасибо
Реакции: Tuw
@rostonix Видимо я рано радовался:(
2bXu3aP.jpg

А как осуществить, чтобы переменная была в C# коде?
У меня так работает шаб: берется из списка строка, кладется в переменную {-Variable.test-} и из этой переменной кладется в код и выполняется
 
Переменную надо внедрить в этот post запрос на C#. У меня берется строка из списка, которая будет посылаться в post data на C#.
K5SsfCe.jpg

Но проблема в том, что переменная, которая вставлена в коде C# не отсылается. Как будто она и не бралась из списка вовсе(но взятие строки из списки прекрасно выполняется).

Пробовал вставлять в postdata переменную в таких видах, но может я неправильно ее вставляю
  • {-Variable.test-}
  • project.Variables["test"].Value
  • project.Variables["test"].Value;

но все равно не выходит. Может кто помочь плиз?

Код:
Развернуть Свернуть Копировать
string response = String.Empty;
try
{
    response = ZennoPoster.HttpPost(
        "http://zennolab.com/",
        "{-Variable.test-}",
        "application/x-www-form-urlencoded; charset=UTF-8",
        instance.GetProxy(),
        "UTF-8",
        ZennoLab.InterfacesLibrary.Enums.Http.ResponceType.HeaderAndBody,
        60,
        instance.GetCookie("site.ru", true),
        project.Profile.UserAgent,
        false,
        0,
        AdditionalHeaders: new [] {"Referer: http://site.com/"}
    );
} catch (Exception ex) { return "bad_post"; }
return response;

Но как rostonix говорит, таким образом переменной этой не будет в коде( Как реализовать тогда? Тут еще мысль есть, может получиться тогда вместо этого брать рандомную строку из списка сразу с помощью C# и вставлять ее( в 6-ую строку кода)?
 
Последнее редактирование:
Читайте документацию. Чтобы использовать переменную из проекта в коде C# нужно ее в коде объявить.
Код:
Развернуть Свернуть Копировать
var TestVar = project.Variables["test"].Value;
 
Вот это правильный синтаксис project.Variables["test"].Value
Если переменная существует такая в проекте
 
Сделал все также как вы описали выше. Все равно не выходит:(
5GXT31C.jpg

Прикрепил шаб проекта, посмотрите пожалуйста
 

Вложения

  • help.zip
    help.zip
    22,2 KB · Просмотры: 304
В кавычки брал потому что думал они обязательны))) СПАСИБО вам огромное! Но тут другая проблема еще появилась... Почему не обрабатывается если есть что-то рядом? У меня post запрос с JSON-овским форматом и в нем должна быть эта переменная. Ее тупо как TestVar отсылает, ни как переменную) А если кавычки тут убрать, не работает. Переменная вместо HEREVAR должна быть(конец 9-ой строки). Помогите заменить в коде HEREVAR на переменную, нужно ее вписать. Пытался щас найти инфу, но не нашел нигде



Код:
Развернуть Свернуть Копировать
string response = String.Empty;

var TestVar = project.Variables["test"].Value;

try
{
    response = ZennoPoster.HttpPost(
        "http://lessons.zennolab.com/",
        "{\n \"test\": {\n  \"in1\": \"11\",\n  \"in2\": \"22\",\n  \"in3\": \"33\",\n  \"in4\": \"44\"\n },\n \"test2\": {\n  \"tin1\": \"HEREVAR\"\n }\n}",
        "application/x-www-form-urlencoded; charset=UTF-8",
        instance.GetProxy(),
        "UTF-8",
        ZennoLab.InterfacesLibrary.Enums.Http.ResponceType.HeaderAndBody,
        60,
        instance.GetCookie("site.ru", true),
        project.Profile.UserAgent,
        false,
        0,
        AdditionalHeaders: new [] {"Referer: http://site.com/"}
    );
} catch (Exception ex) { return "bad_post"; }
return response;



Почему со слэшами в postdata, ибо по другому не отсылает) Отсылать нужно в таком формате
Код:
Развернуть Свернуть Копировать
{
"test": {
  "in1": "11",
  "in2": "22",
  "in3": "33",
  "in4": "44"
},
"test2": {
  "tin1": "HERE"
}
}
и он отсылает лишь если обработать через js в
Код:
Развернуть Свернуть Копировать
"{\n \"test\": {\n  \"in1\": \"11\",\n  \"in2\": \"22\",\n  \"in3\": \"33\",\n  \"in4\": \"44\"\n },\n \"test2\": {\n  \"tin1\": \"HEREVAR\"\n }\n}"
 
Последнее редактирование:
project.Variables["Переменная"].Value;//в скобках название твоей переменной
Установил, все как надо, но почему то перестали срабатывать обычные блоки типа "рандомное число в переменную"

http://joxi.ru/KAxl8jbtZ8Y0PA
http://joxi.ru/RmzGJzbcY5QDR2

если из кода убрать переменные - тогда все нормально срабатывает

http://joxi.ru/gmvBy7bUqM8D0m

В чем тут проблема?
 
https://metanit.com/sharp/tutorial/2.1.php
Прошу прощения.
Код:
Развернуть Свернуть Копировать
Convert.ToInt32(project.Variables["Переменная"].Value);//в скобках название твоей переменной
 
  • Спасибо
Реакции: ukrainec2014
Установил, все как надо, но почему то перестали срабатывать обычные блоки типа "рандомное число в переменную"

http://joxi.ru/KAxl8jbtZ8Y0PA
http://joxi.ru/RmzGJzbcY5QDR2

если из кода убрать переменные - тогда все нормально срабатывает

http://joxi.ru/gmvBy7bUqM8D0m

В чем тут проблема?

переменные string (строка), а значение int (целое число), нужна конвертация: int.Parse(project.Variables["Переменная"].Value) тогда все корректно заработает.
 
  • Спасибо
Реакции: ukrainec2014
Convert.ToInt32(project.Variables["Переменная"].Value);//в скобках название твоей переменной
ЗАработало!! Ура, спасибо!


переменные string (строка), а значение int (целое число), нужна конвертация: int.Parse(project.Variables["Переменная"].Value) тогда все корректно заработает.
супер ребята вы лучшие
 
  • Спасибо
Реакции: samsonnn и gevolushn

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)