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

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

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

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

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

                                  @קו-מהיר אותו דבר רק במקום לכתוב את הקוד בתוכנה אתה כותב ישירות בטופס php בשרת, ואח"כ את מריץ את הכתובת של הקובץ בדפדפן.
                                  בשרת שלך למשל את מריץ את זה כך:

                                  https://******.000webhostapp.com/שם הקובץ.php
                                  
                                  ק תגובה 1 תגובה אחרונה תגובה ציטוט 0
                                  • ק
                                    קו מהיר מורחק @מוטלה נערך לאחרונה על ידי

                                    @מוטלה
                                    את זה ידעתי, אבל האם לכתוב כתובת קובץ או תקייה והאם הסיומת PHP זה רק במערכת או גם בשרת?

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

                                      @קו-מהיר תפתח קובץ בשרת, תקרא לו בשם כל שהוא ובסיומת php.
                                      שים לב שזה יהיה בתיקיית public_html ואח"כ אתה מריץ ישירות בדפדפן את השם של הקובץ עם הסיומת.

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

                                        @מוטלה
                                        אה, כי אני כתבתי את הקובץ בתקייה הראשית

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

                                          דרך אגב, למה שאני עושה שנה שם לקובץ הוא כותב לי כך:הזן שם חדש עבור שקר

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

                                            @קו-מהיר נראה לי שגיאה בתרגום, תבטל את זה.

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