• הרשמה
    • התחברות
    • חיפוש
    • דף הבית
    • אינדקס קישורים
    • פוסטים אחרונים
    • קבלת התראות מהדפדפן
    • משתמשים
    • חיפוש בהגדרות המתקדמות
    • חיפוש גוגל בפורום
    • ניהול המערכת
    • ניהול המערכת - שרת private

    אין מענה בשרת הapi, כתוב בc#

    פורום מפתחים API
    8
    56
    2329
    טוען פוסטים נוספים
    • מהישן לחדש
    • מהחדש לישן
    • הכי הרבה הצבעות
    תגובה
    • הגיבו כנושא
    התחברו בכדי לפרסם תגובה
    נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
    • ק
      קביעתא @bluma נערך לאחרונה על ידי

      @bluma תוכל לצלם לי מסך כשאתה ניגש מכאן ואח"כ_מכאן

      B תגובה 1 תגובה אחרונה תגובה ציטוט 0
      • B
        bluma @מוטלה נערך לאחרונה על ידי

        @מוטלה
        לא

        מ תגובה 1 תגובה אחרונה תגובה ציטוט 0
        • מ
          מוטלה @bluma נערך לאחרונה על ידי

          @bluma למה כאן

          var Retval = "read=t-Hello I speak English=Digits,"+"no,9,1,7,Number,no,no,*/,&";
          

          הוספת את זה "+"?
          אני משתמש ב php ולא צריך את זה, לא נראה לי שבנקודה הזו יש הבדל.

          B תגובה 1 תגובה אחרונה תגובה ציטוט 0
          • B
            bluma @קביעתא נערך לאחרונה על ידי

            @קביעתא
            כאשר נגשת לקישור הנ"ל
            הפרויקט לא היה מורץ
            ולכן השגיאה שאני מקבלת היא שונה
            ז מה שהעתקתי מקודם

            תגובה 1 תגובה אחרונה תגובה ציטוט 0
            • B
              bluma @מוטלה נערך לאחרונה על ידי

              @מוטלה
              זה לא עוזר

              מ תגובה 1 תגובה אחרונה תגובה ציטוט 0
              • מ
                מוטלה @bluma נערך לאחרונה על ידי

                @bluma כשמריצים את הכתובת בדפדפן זה מופיע?
                לא עשית תנאי כל שהוא לפני זה נכון?

                B תגובה 1 תגובה אחרונה תגובה ציטוט 0
                • B
                  bluma @מוטלה נערך לאחרונה על ידי

                  @מוטלה
                  איזה כתובת?
                  ומה צריך להופיע?

                  תגובה 1 תגובה אחרונה תגובה ציטוט 0
                  • B
                    bluma @bluma נערך לאחרונה על ידי

                    אני צריכה לדעת בעצם
                    איזה טיפוס נתונים צריך להחזיר בcontroller
                    יתכן שזאת הבעיה שלי

                    תגובה 1 תגובה אחרונה תגובה ציטוט 0
                    • B
                      bluma נערך לאחרונה על ידי

                      אין מי שיודע איזה תשובה צריך להחזיר בcontroller מc# כדי להתחבר עם ימות המשיח?

                      Men770 מ 2 תגובות תגובה אחרונה תגובה ציטוט 0
                      • Men770
                        Men770 @bluma נערך לאחרונה על ידי

                        @bluma אמר באין מענה בשרת הapi, כתוב בc#:

                        אין מי שיודע איזה תשובה צריך להחזיר בcontroller מc# כדי להתחבר עם ימות המשיח?

                        לא מבין בכתיבת שרתים עם C#, אבל ימות צריכים לקבל plain text.

                        תגובה 1 תגובה אחרונה תגובה ציטוט 2
                        • ק
                          קו מהיר מורחק נערך לאחרונה על ידי

                          ניסיתי את הקוד של מאזין נלהב הזה:
                          בשרת כתבתי כך:

                          const express = require("express");
                          const yemot_router = require("yemot-router");
                           
                          const port = 3000;
                          const app = express();
                          const y = yemot_router();
                           
                          y.add_fn(async (call) => {
                           
                          	let massage = [{ type: "text", data: "היי, תקיש 10" }];
                          	let r = await call.read(massage);
                           
                          	if(r.hangup) {
                          		return;
                          	}
                           
                          	console.log(r);
                           
                          	massage = [{ type: "text", data: "הקשת " + r.data }];
                          	call.id_list_message(massage);
                          });
                           
                          app.use("/", y);
                           
                          app.listen(port, () => {
                          	console.log("lisen in port", port);
                          });
                          

                          ובמערכת מתחת ללינק כתבתי כך:

                          npm i yemot-router
                          

                          וזה אומר אין מענה משרת APIהאם הקוד לא נכון או סיבה אחרת?

                          מ תגובה 1 תגובה אחרונה תגובה ציטוט 0
                          • מ
                            מוטלה @קו מהיר נערך לאחרונה על ידי

                            @קו-מהיר אני לא יודע C# אבל ברור שהשורה הזו npm i yemot-router אמורה להיות בתחילת הקוד ולא בשלוחה במערכת.
                            יש לך שרת VPS או אחסון שיתופי?

                            ק תגובה 1 תגובה אחרונה תגובה ציטוט 0
                            • ק
                              קו מהיר מורחק @מוטלה נערך לאחרונה על ידי

                              @מוטלה
                              יש לי שרת וורדפס חינמי

                              מ תגובה 1 תגובה אחרונה תגובה ציטוט 0
                              • מ
                                מוטלה @קו מהיר נערך לאחרונה על ידי

                                @קו-מהיר אתה לא יכול להשתמש עם node / python.
                                תעבוד עם המחלקה הזאת
                                https://f2.freeivr.co.il/post/9067

                                תגובה 1 תגובה אחרונה תגובה ציטוט 0
                                • ק
                                  קו מהיר מורחק נערך לאחרונה על ידי

                                  @מוטלה
                                  איפה לכתוב? ומה לכתוב במערכת?
                                  חוץ מזה שאני רוצה שהמאזין יקיש מערכת וסיסמה, מה אני אמור לעשות???

                                  מ תגובה 1 תגובה אחרונה תגובה ציטוט 0
                                  • מ
                                    מוטלה @קו מהיר נערך לאחרונה על ידי

                                    @קו-מהיר ואז מה? להשמיע לו את זה?

                                    ק תגובה 1 תגובה אחרונה תגובה ציטוט 0
                                    • ק
                                      קו מהיר מורחק @מוטלה נערך לאחרונה על ידי קו מהיר

                                      @מוטלה
                                      כן פשוט שיהיה אפשרות שמקיש מערכת ומשמיע ומבקש אישור ואח"כ סיסמא ומשמיע ומבקש אישור
                                      התכוונת למחלקה הזאת?

                                      $SetSite = $_GET["SetSite"];
                                      	if ($SetSite == NULL) {
                                      	define("URL", "https://www.call2all.co.il/ym/api/");
                                      }
                                      	if ($SetSite == "private") {
                                      	define("URL", "https://www.private.call2all.co.il/ym/api/");
                                      }
                                      class BodyPost
                                      {
                                      // part "multipart/form-data"
                                          public static function PartPost($name, $val)
                                           {
                                               $body = 'Content-Disposition: form-data; name="' . $name . '"';
                                      // check instance of oFile
                                               if($val instanceof oFile)
                                                {
                                                    $file = $val->Name();
                                                    $mime = $val->Mime();
                                                    $cont = $val->Content();
                                       
                                                    $body .= '; filename="' . $file . '"' . "\r\n";
                                                    $body .= 'Content-Type: ' . $mime ."\r\n\r\n";
                                                    $body .= $cont."\r\n";
                                                } else $body .= "\r\n\r\n".$val."\r\n";
                                               return $body;
                                           }
                                       
                                          public static function Get(array $post, $delimiter = '-------------0123456789')
                                           {
                                               if(is_array($post) && !empty($post))
                                                {
                                                    $bool = true;
                                                    //foreach($post as $val) if($val instanceof oFile) {$bool = true; break; };
                                                    if($bool)
                                                     {
                                                         $ret = '';
                                                         foreach($post as $name=>$val)
                                                             $ret .= '--' . $delimiter. "\r\n". self::PartPost($name, $val);
                                                         $ret .= "--" . $delimiter . "--\r\n";
                                                     } else $ret = http_build_query($post);
                                                } else throw new \Exception('Error input param!');
                                               return $ret;
                                           }
                                      }
                                       
                                      class oFile
                                      {
                                           private $name;
                                           private $mime;
                                           private $content;
                                       
                                           public function __construct($name, $mime=null, $content=null)
                                            {
                                                if(is_null($content))
                                                 {
                                                     $info = pathinfo($name);
                                      // check is exist and readable file
                                                     if(!empty($info['basename']) && is_readable($name))
                                                      {
                                                          $this->name = $info['basename'];
                                      // get MIME
                                                          $this->mime = mime_content_type($name);
                                      // load file
                                                          $content = file_get_contents($name);
                                                          if($content!==false)
                                                          {
                                                              $this->content = $content;
                                                          }
                                                          else
                                                          {
                                                              throw new Exception('Don`t get content - "'.$name.'"');
                                                          }
                                                      }
                                                      else
                                                      {
                                                          throw new Exception('Error param');
                                                      }
                                                 }
                                                 else
                                                 {
                                                         $this->name = $name;
                                                         if(is_null($mime)) $mime = mime_content_type($name);
                                                         $this->mime = $mime;
                                                         $this->content = $content;
                                                  };
                                            }
                                       
                                          public function Name() { return $this->name; }
                                       
                                          public function Mime() { return $this->mime; }
                                       
                                          public function Content() { return $this->content; }
                                       
                                      }
                                       
                                      class connecting_to_yemot_api
                                      {
                                          public $token;
                                       
                                          const URL = URL;
                                       
                                          public function __construct($user_name, $password)
                                          {
                                              $body = array('username' => $user_name, 'password' => $password);
                                       
                                              $body = http_build_query($body);
                                       
                                              $opts = array('http' => array(
                                       
                                                  'method'  => 'POST',
                                       
                                                  'header'  => "Content-Type: application/x-www-form-urlencoded",
                                       
                                                  'content' => $body,
                                       
                                                  'follow_location' => false) );
                                       
                                               $context  = stream_context_create($opts);
                                       
                                               $url = self::URL.'Login';
                                       
                                                  $result = file_get_contents($url, FALSE, $context);
                                       
                                                  $result = json_decode($result);
                                       
                                                  if($result -> responseStatus == 'OK')
                                                  {
                                                      $this -> token = $result -> token;
                                       
                                                      return TRUE;
                                                  }
                                                  else
                                                  {
                                                      throw new Exception('שם המשתמש או הסיסמא של המערכת שגויים');
                                                  }
                                          }
                                       
                                          public function __destruct()
                                          {
                                              $this -> connecting('Logout');
                                          }
                                       
                                          public function connecting($action, $body = array())
                                          {
                                              $delimiter = '----'.uniqid();
                                       
                                              $body['token'] = $this -> token;
                                       
                                              $body = BodyPost::Get($body, $delimiter);
                                       
                                              $opts = array('http' =>
                                                      array(
                                                          'method'  => 'POST',
                                                          'header'  => 'Content-Type: multipart/form-data; boundary='.$delimiter,
                                                          'content' => $body,
                                                          'follow_location' => false
                                                          )
                                                        );
                                              $context  = stream_context_create($opts);
                                       
                                              $url = self::URL.$action;
                                       
                                              $result = file_get_contents($url, FALSE, $context);
                                       
                                              $headers = $this -> parseHeaders($http_response_header);
                                       
                                              if($headers['Content-Type'][0] == 'application/json')
                                              {
                                                  return json_decode($result);
                                              }
                                              else
                                              {
                                                  return $result;
                                              }
                                          }
                                       
                                          private function parseHeaders($headers)
                                          {
                                              // פונקציה שמקבלת מערך של שורות הכותרות
                                              // הפונקציה מפרקת את קבצי הקוקי לתת-מערך נפרד
                                       
                                       
                                              // מערך הכותרות
                                              $head = array();
                                       
                                              foreach( $headers as $k=>$v )
                                              {
                                                  $t = explode( ':', $v, 2 );
                                       
                                                  if( isset( $t[1] ) )
                                                  {
                                                      if($t[0] == 'Set-Cookie')
                                                      {
                                                          $CookiesArr = array();
                                       
                                                          $cookies = explode( ';', $t[1]);
                                       
                                                          foreach($cookies as $cookie)
                                                          {
                                                              $c = explode( '=', $cookie);
                                       
                                                              if( isset( $c[1] ) )
                                                              {
                                                                  $CookiesArr[ trim($c[0]) ] = trim( $c[1] );
                                                              }
                                                              else
                                                              {
                                                                  $CookiesArr[] = trim( $c[0] );
                                                              }
                                                          }
                                       
                                                          $head[ trim($t[0]) ] = $CookiesArr;
                                                      }
                                                      elseif($t[0] == 'Content-Type')
                                                      {
                                                          $arr = array();
                                       
                                                          $children = explode( ';', $t[1]);
                                       
                                                          foreach($children as $child)
                                                          {
                                                              $c = explode( '=', $child);
                                       
                                                              if( isset( $c[1] ) )
                                                              {
                                                                  $arr[ trim($c[0]) ] = trim( $c[1] );
                                                              }
                                                              else
                                                              {
                                                                  $arr[] = trim( $c[0] );
                                                              }
                                                          }
                                       
                                                          $head[ trim($t[0]) ] = $arr;
                                                      }
                                                      else
                                                      {
                                                          $head[ trim($t[0]) ] = trim( $t[1] );
                                                      }
                                                  }
                                                  else
                                                  {
                                                      $head[] = $v;
                                                      if( preg_match( "#HTTP/[0-9\.]+\s+([0-9]+)#",$v, $out ) )
                                                      {
                                                          $head['reponse_code'] = intval($out[1]);
                                                      }
                                                  }
                                              }
                                              return $head;
                                          }
                                      }
                                      

                                      זה נראה ארוך מאוד מאוד!!!

                                      מ תגובה 1 תגובה אחרונה תגובה ציטוט 0
                                      • מ
                                        מוטלה @קו מהיר נערך לאחרונה על ידי מוטלה

                                        @קו-מהיר כן, אבל בשביל זה לא צריך את המחלקה:

                                        <?php
                                        $ApiDID = $_GET['ApiDID'];
                                        $password = $_GET['password'];
                                        if ($ApiDID == NULL){echo "read=t-אנא הקש את מספר המערכת שלך ובסיום הקש סולמית=ApiDID,no,10,9,7,No";exit();}
                                        if ($password == NULL){echo "read=t-נא הקש את סיסמת המערכת ובסיום הקש סולמית=password,no,,,7,No";exit();}
                                        ?>
                                        

                                        בשלוחה אתה צריך להוסיף גם את זה api_did_send=no

                                        ק תגובה 1 תגובה אחרונה תגובה ציטוט 0
                                        • ק
                                          קו מהיר מורחק @מוטלה נערך לאחרונה על ידי

                                          @מוטלה
                                          ומה להגדיר אח"כ? אני רוצה שיהיה לו תפריט מסוים לדוג' האם להגדיר הגדרה מסוימת או לא וחוץ מזה, מה זה המחלקה לעיל?

                                          מ תגובה 1 תגובה אחרונה תגובה ציטוט 0
                                          • מ
                                            מוטלה @קו מהיר נערך לאחרונה על ידי

                                            @קו-מהיר בקיצור, אתה צריך ללמוד php ואח"כ ללמוד איך להתממשק עם ימות. איפה אתה אוחז?
                                            תראה כאן
                                            https://f2.freeivr.co.il/post/36214

                                            ק תגובה 1 תגובה אחרונה תגובה ציטוט 0
                                            • פוסט ראשון
                                              פוסט אחרון