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

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

    מתוזמן נעוץ נעול הועבר פורום מפתחים API
    56 פוסטים 8 כותבים 3.7k צפיות 3 עוקבים
    טוען פוסטים נוספים
    • מהישן לחדש
    • מהחדש לישן
    • הכי הרבה הצבעות
    תגובה
    • תגובה כנושא
    התחברו כדי לפרסם תגובה
    נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
    • 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# כדי להתחבר עם ימות המשיח?

                    Men770M מ 2 תגובות תגובה אחרונה תגובה ציטוט 0
                    • Men770M מנותק
                      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
                                          • ק מנותק
                                            קו מהיר @מוטלה
                                            נערך לאחרונה על ידי

                                            @מוטלה
                                            ניסיתי אתרשתטקאבל הוא לא מסביר איך לנהל שרת חינמי אלא רק איך להתקין על המחשב.

                                            מ תגובה 1 תגובה אחרונה תגובה ציטוט 0

                                            שלום! נראה שהשיחה הזו מעניינת אותך, אבל עדיין אין לך חשבון.

                                            נמאס לכם לגלול בין אותם הפוסטים בכל ביקור? כשנרשמים לחשבון, תמיד תחזרו בדיוק למקום שבו הייתם קודם, ותוכלו לבחור לקבל התראות על תגובות חדשות (בין אם במייל, ובין אם בהתראת פוש). תוכלו גם לשמור סימניות ולפרגן ב-upvote לפוסטים כדי להביע הערכה לחברי קהילה אחרים.

                                            בעזרת התרומה שלך, הפוסט הזה יכול להיות אפילו טוב יותר 💗

                                            הרשמה התחברות
                                            • פוסט ראשון
                                              פוסט אחרון